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