gpt4 book ai didi

excel - vba-excel <> 的含义(尖括号或大于和小于符号)

转载 作者:行者123 更新时间:2023-12-03 02:14:15 48 4
gpt4 key购买 nike

我正在使用 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

最佳答案

<>运算符意味着 c.Address 不等于 firstAddress .

在 C 风格语言中,这相当于 c.Address != firstAddress .

<小时/>

旁注,我认为您收到错误 91(未设置对象变量或 With block 变量。),因为代码行 Loop While Not c Is Nothing And c.Address <> firstAddress即使第一个条件 ( c.Address <> firstAddress ) 的计算结果为 false,也会始终尝试执行第二个条件 ( While Not C Is Nothing )。因此,对 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

关于excel - vba-excel <> 的含义(尖括号或大于和小于符号),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6538079/

48 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com