我正在使用VBA Excel中的查找功能,所以当我遇到问题时,我从Excel中提供的帮助中提取了一些示例代码。我拿了他们的代码说明了一个基本的 找到函数并将其粘贴到宏中。在运行宏时,我得到一个“运行时错误'91'”,调试器突出显示包含有角度括号<>的代码行。这些是我无法理解的代码部分。
有谁能告诉我这些括号代表什么?
Sub exampleFindReplace()
With Worksheets(1).Range("a1:a500")
Set c = .Find(2, LookIn:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
Do
c.Value = 5
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstAddress
End If
End With
End Sub
答案 0 :(得分:4)
<>
运算符表示c.Address
不等于 firstAddress
。
使用C风格的语言,这相当于c.Address != firstAddress
。
旁注,我认为你得到错误91(对象变量或未设置块变量。)因为代码行Loop While Not c Is Nothing And c.Address <> firstAddress
将始终尝试执行第二个条件(c.Address <> firstAddress
)如果第一个(While Not C Is Nothing
)评估为false。因此,对c.Address的调用将引发异常。
尝试编写这样的代码,因为它不会允许这种情况发生:
Sub exampleFindReplace()
With Worksheets(1).Range("a1:a500")
Set c = .Find(2, LookIn:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
Do
c.Value = 5
Set c = .FindNext(c)
If c Is Nothing Then Exit Do
Loop While c.Address <> firstAddress
End If
End With
End Sub