我有以下代碼:VBA:基於細胞addess設置一個變量爲一個範圍
Sub findReplace()
Dim myArray As Variant, rng As Range, str As Variant, cAdd2 As Range
myArray = Array("è", "é", "ë", "ê", "í", "?", "ñ", "ò", "ó", "ô", "ö", "à", "ã", "á", "Á", "ä", "ü", "â", "ø", "š", "??", ">", "<", "+", "*", "^", "ß", "ç", "å", "æ", ".", ";", "#", ":", "'", "-", "@", "Ã", "¨", "É", "Ô", "[", "]", "Ó", "Ñ", "(", ")", "Ö")
Set rng = Workbooks("User").Sheets("Result").Range("B2:B10")
For Each cell In rng
cAdd = cell.Address
Set cAdd2 = Range(cell.Address)
For Each str In myArray
If InStr(cell, str) Then
cAdd2.Offset(, 1).Formula = "=Substitute(" & cAdd & ", " & str & ",""_"")" -->**# This is where I get my error**
Else
cAdd2.Offset(, 1) = "=(" & cAdd & ")"
End If
Next str
Next cell
End Sub
我希望能夠做的就是去通過一系列的細胞,取代在任何字符我在那個單元格中的數組旁邊有一個下劃線,如果沒有特殊字符,那麼就複製它。
我相信問題是與cell.Address函數,但我不知道。
任何建議,高度讚賞!
謝謝!
你是什麼意思,你認爲這個問題與該行有關?這是什麼做錯了? –
它不會將單元格的實際地址存儲爲一個範圍。當我查看變量中的值時,它實際上是該單元格中的字符串 – wra
'cAdd2.Offset(,1).Formula =「=替換(」&cAdd&「,」&str&「,」「_」 「)」'在這一行上,我得到一個「應用程序定義或對象定義的錯誤」 – wra