2017-08-01 165 views
3

我有这个VBA脚本,我不知道如何制作动态的粗体部分,所以公式将是=StripAccent(C2),=StripAccent(C3)等等,每个iVBA中的动态变量

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

我读了双引号,但它没有在那里工作。

回答

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
For i = 2 To 10 
    Cells(i, 5).Formula = "=StripAccent(C" & i & ")" 
Next i 
2

在你的情况,你不需要一个循环,你可以直接添加Formula到您的整个范围,就像这样:

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

或者,甚至“清洁工”:

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

@Vityata他在哪里提到他需要循环?我认为他希望按照“E”列中的行号拖动Fomrula –

+1

似乎合法。 – Vityata