Excel Vba 高分求助 findnext哪里用错了 250
想实现的功能是用cells(i,1)的值在G列搜索,找到相关值以后,比较相关值的时间,如果在3个小时以内,则在cells(i,3)标明“属实”,并且在cells(i,4)...
想实现的功能是 用cells(i,1)的值在G列搜索,找到相关值以后,比较相关值的时间,如果在3个小时以内,则在cells(i,3)标明“属实”,并且在cells(i,4)标明相关值的原因。 我已经能够实现上述功能,但是find函数只返回找到的第一个值,如果第一个值不满足条件,即不会接着去找第二个值。需要用到findnext,直到找到符合条件的相关值停止。但是findnext我怎么加进去都没办法运行成功。 初学VBA,求大神解答一下。
展开
2个回答
展开全部
findnext里的参数必须是一个单元格对象,所你这里vl是一个值,就不行了
你参考一下vba帮助里关于find的示例吧:
示例
本示例在第一个工作表的单元格区域 A1:A500 中查找包含值 2 的所有单元格,并将这些单元格的值更改为 5。
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
追问
不是,在vl后面加value可以吗?
追答
不要value呀,你那个
set rngsearch=rng.find(what:=vl).value错了,应该是
set rngsearch=rng.find(what:=vl)
然后 findnext那句改为
set rngsearch=rng.findnext(rngsearch)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |