【发布时间】:2018-01-08 00:46:06
【问题描述】:
我有这个 VBA 脚本,但我不知道如何使粗体部分动态化,以便每个 i 的公式为 =StripAccent(C2)、=StripAccent(C3) 等等。
For i = 2 To 10
Cells(i, 5) = "=StripAccent(Ci)"
Next i
我读到了双引号,但它在那里不起作用。
【问题讨论】:
标签: vba excel dynamic formula quotes
我有这个 VBA 脚本,但我不知道如何使粗体部分动态化,以便每个 i 的公式为 =StripAccent(C2)、=StripAccent(C3) 等等。
For i = 2 To 10
Cells(i, 5) = "=StripAccent(Ci)"
Next i
我读到了双引号,但它在那里不起作用。
【问题讨论】:
标签: vba excel dynamic formula quotes
这是一个可能的解决方案:
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
【讨论】:
在您的情况下,您不需要循环,您可以直接将Formula 添加到您的整个范围内,如下所示:
Range(Cells(2, 5), Cells(10, 5)).Formula = "=StripAccent(C2)"
或者,甚至“更干净”:
Range("E2:E10").Formula = "=StripAccent(C2)"
【讨论】:
For i = 2 To 10
Cells(i, 5).Formula = "=StripAccent(C" & i & ")"
Next i
【讨论】: