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,求大神解答一下。 展开
 我来答
laorenjia1987
推荐于2018-07-05 · TA获得超过2765个赞
知道大有可为答主
回答量:1734
采纳率:73%
帮助的人:435万
展开全部

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)
joy0084868
2018-07-05 · TA获得超过2552个赞
知道大有可为答主
回答量:4914
采纳率:54%
帮助的人:1323万
展开全部
样本文件发 joy.008@163.com
写清要求
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式