我有带有整数值的工作表,并且我编写了一个 VBA 宏来对范围应用数学运算。我想将此宏应用于 excel 中的所有值,并将结果粘贴到同一个单元格中。
Sub KLtoMT()
' convert KL to MT i.e. divide KL by 1.21
Selection.Value = Val(Selection.Value / 1.21)
End Sub
Run Code Online (Sandbox Code Playgroud)
这是行不通的。
对于单个选定区域,Evaluate可以使用:
Sub KLtoMT()
Selection = Evaluate(Selection.Address & " / 1.21")
End Sub
Run Code Online (Sandbox Code Playgroud)
对于多个选定区域:
Sub KLtoMT()
For Each area In Selection.Areas
area.Value = Evaluate(area.Address & " / 1.21")
Next
End Sub
Run Code Online (Sandbox Code Playgroud)