VBA 中的动态变量
Dynamic variable in VBA
我有这个 VBA 脚本,但我不知道如何使粗体部分动态化,因此每个公式都是 =StripAccent(C2)
、=StripAccent(C3)
等等i
.
For i = 2 To 10
Cells(i, 5) = "=StripAccent(Ci)"
Next i
我读到有关双引号的内容,但它在那里不起作用。
这是一个可能的解决方案:
Public Sub TestMe()
Dim i As Long
For i = 2 To 10
Cells(i, 5) = "=StripAccent(C" & i & ")"
Next i
End Sub
另一种是使用Cells(i,3)
。
编辑: 如果您使用的是此处的自定义函数 - Converting Special Characters into alphabet 那么类似这样的函数也可以工作(但不是公式):
Public Sub TestMe()
Dim i As Long
For i = 2 To 10
Cells(i, 5) = StripAccent(Cells(i,3))
Next i
End Sub
For i = 2 To 10
Cells(i, 5).Formula = "=StripAccent(C" & i & ")"
Next i
在您的情况下,您不需要循环,您可以直接将 Formula
添加到整个范围,如下所示:
Range(Cells(2, 5), Cells(10, 5)).Formula = "=StripAccent(C2)"
或者,甚至 "cleaner" :
Range("E2:E10").Formula = "=StripAccent(C2)"
我有这个 VBA 脚本,但我不知道如何使粗体部分动态化,因此每个公式都是 =StripAccent(C2)
、=StripAccent(C3)
等等i
.
For i = 2 To 10
Cells(i, 5) = "=StripAccent(Ci)"
Next i
我读到有关双引号的内容,但它在那里不起作用。
这是一个可能的解决方案:
Public Sub TestMe()
Dim i As Long
For i = 2 To 10
Cells(i, 5) = "=StripAccent(C" & i & ")"
Next i
End Sub
另一种是使用Cells(i,3)
。
编辑: 如果您使用的是此处的自定义函数 - Converting Special Characters into alphabet 那么类似这样的函数也可以工作(但不是公式):
Public Sub TestMe()
Dim i As Long
For i = 2 To 10
Cells(i, 5) = StripAccent(Cells(i,3))
Next i
End Sub
For i = 2 To 10
Cells(i, 5).Formula = "=StripAccent(C" & i & ")"
Next i
在您的情况下,您不需要循环,您可以直接将 Formula
添加到整个范围,如下所示:
Range(Cells(2, 5), Cells(10, 5)).Formula = "=StripAccent(C2)"
或者,甚至 "cleaner" :
Range("E2:E10").Formula = "=StripAccent(C2)"