返回列表 上一主題 發帖

[發問] 使用VBA將公式以文字型態於原位置顯示

回復 1# ML089
  1. Sub ex()
  2. Dim A As Range
  3. For Each A In Cells.SpecialCells(xlCellTypeFormulas)
  4. If A.HasArray Then A = "{" & A.FormulaLocal & "}" Else A = "'" & A.FormulaLocal
  5. Next
  6. End Sub
複製代碼
學海無涯_不恥下問

TOP

回復 7# ML089
  1. Sub ex()
  2. Dim A As Range, C As Range, Sh As Worksheet
  3. fs = Application.GetOpenFilename("Excel Files (*.xls;*.xlsx;*.xlsm), *.xls;*.xlsx;*.xlsm") '開啟舊檔對話
  4. If fs <> False Then
  5. With Workbooks.Open(fs) '開啟舊檔
  6. Application.EnableEvents = False
  7. For Each Sh In .Sheets
  8. With Sh
  9. ar = .UsedRange
  10.    For i = 1 To UBound(ar, 1)
  11.       For j = 1 To UBound(ar, 2)
  12.          Set C = .UsedRange.Cells(i, j)
  13.          If C.HasArray Then
  14.             Mystr = "{" & C.Formula & "}"
  15.          ElseIf C.HasFormula Then
  16.             Mystr = "'" & C.Formula
  17.          Else
  18.             Mystr = C.Formula
  19.          End If
  20.          ar(i, j) = Mystr
  21.       Next
  22.    Next
  23. .UsedRange = ar
  24. End With
  25. Next
  26. Application.EnableEvents = True
  27. End With
  28. End If
  29. End Sub
複製代碼
學海無涯_不恥下問

TOP

        靜思自在 : 唯其尊重自己的人,才更勇於縮小自己。
返回列表 上一主題