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)"