0
在Excel中,我写了一个简短的脚本,它应该删除每个包含“*”符号的单元格的第一个字符。我至今是在VBA中,写入相对于范围的公式的语法是什么?
Sub Macro5()
Dim Rng As Range
Dim i As Long
i = 1
While i <= 20000
Set Rng = Range("A" & i)
If InStr(Rng, "*") > 0 Then
Rng.Offset(0, 1).Formula = "=Right(Rng,LEN(Rng)-1)"
i = i + 1
Else: i = i + 1
End If
Wend
End Sub
调用脚本似乎工作线,但公式得到放入列B是“=右(RNG,LEN(RNG)-1)”,这给'名称?'错误。如何定义LEN公式以将Rng用作范围,而不是电子表格中的“单词”?
没有测试过,但尽量将其更改为: “=右(” &RNG& “LEN(” &RNG &')-1)“ – sous2817
将''=右(Rng,LEN(Rng)-1)”'改为'“=右(”&Rng.address(0,0)&“,LEN(”&Rng。地址(0,0)&“)-1)”'Vba需要位于引号的外部。 –
太棒了。我知道这会很简单。非常感激! :) – user1996971