excelvba代码
我刚开始编写VBA代码,并且在网上遇到了下面的代码,这与我正在尝试做的非常相似。但是,当我尝试运行它时,它会突出显示行excelvba代码,vba,excel,Vba,Excel,我刚开始编写VBA代码,并且在网上遇到了下面的代码,这与我正在尝试做的非常相似。但是,当我尝试运行它时,它会突出显示行循环,而非c为Nothing和c.Address firstAddress,并弹出一条消息,说“未设置对象变量或带块变量” 有人知道如何解决这个问题吗?非常感谢您的帮助 Sub Commodity() ' ' Commodity Macro ' Commodity ' ' With Worksheets(1).Range("a1:a500") Set c = .Find(
循环,而非c为Nothing和c.Address firstAddress
,并弹出一条消息,说“未设置对象变量或带块变量”
有人知道如何解决这个问题吗?非常感谢您的帮助
Sub Commodity()
'
' Commodity Macro
' Commodity
'
'
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
子商品()
'
"商品宏观
"商品",
'
'
带工作表(1)。范围(“a1:a500”)
Set c=.Find(2,LookIn:=xlValues)
如果不是,那么c什么都不是
firstAddress=c.地址
做
c、 值=5
集合c=.FindNext(c)
循环而不是c为Nothing,c.Address为firstAddress
如果结束
以
端接头
问题在于,您正在查找数字2并将其更改为5。一旦它改变了所有这些,它将继续在循环中从顶部再次搜索,但在第二次搜索时,c
将等于零(因为它找不到任何东西),这导致它在尝试计算c.Address firstAddress
时出错
当您替换图形时,我会删除该部分,只留下循环,而不是c什么都不是
另一方面,如果您不更改值而只是查找它们,则需要包含
c.Address firstAddress
,以防止它陷入无休止的循环。问题在于,您正在查找数字2并将其更改为5。一旦它改变了所有这些,它将继续在循环中从顶部再次搜索,但在第二次搜索时,c
将等于零(因为它找不到任何东西),这导致它在尝试计算c.Address firstAddress
时出错
当您替换图形时,我会删除该部分,只留下循环,而不是c什么都不是
另一方面,如果您不更改值,只是查找它们,则需要包含
c.Address firstAddress
,以防止它陷入无休止的循环。!感谢您快速、有益的回复:)太棒了!感谢您快速、有益的回复:)