VBA中的动态变量

时间:2017-08-01 08:39:58

标签: vba excel-vba dynamic formula quotes

我有这个VBA脚本,我不知道如何使粗体部分动态化,因此每个=StripAccent(C2)的公式都是=StripAccent(C3)i等等。

For i = 2 To 10  
    Cells(i, 5) = "=StripAccent(Ci)"
Next i

我读过双引号,但它在那里没有用。

3 个答案:

答案 0 :(得分:3)

这是一个可能的解决方案:

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

答案 1 :(得分:2)

在您的情况下,您不需要循环,您可以直接将Formula添加到整个范围,如下所示:

Range(Cells(2, 5), Cells(10, 5)).Formula = "=StripAccent(C2)"

或者,甚至“更干净”:

Range("E2:E10").Formula = "=StripAccent(C2)"

答案 2 :(得分:1)

X X odd