我有以下代码: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