使用多个条件查找行

时间:2018-03-19 16:23:32

标签: excel vba

我希望有人可以帮助我。我有以下代码,没有通过任何结果。我希望提供符合多个标准的数据。

B列是一个数据字段 列AC(只要是null)我想要显示的信息

第一个问题是我在使用B列的日期时无法进行搜索 第二个是当我在列AC中添加Null的第二个标准时,我得到运行时错误424对象必需。有人可以帮帮我吗。我做错了什么?

Private Sub CommandButton1_Click()

Dim searchRange As Range
Dim foundCell As Range
Dim mysearch As String

mysearch = Me.txtDate.Value

With Sheets("Acc")
    Set searchRange = Sheets("Acc").Range("B2", .Range("B" & .Rows.Count).End(xlUp))
End With

Set foundCell = searchRange.Find(what:=mysearch, Lookat:=xlWhole, MatchCase:=False, SearchFormat:=False)

    If Not foundCell Is Nothing And foundCell.Offset(0, 27) Is Null Then

            Me.txtRef1 = foundCell.Offset(0, -1).Value

        Else

            MsgBox "Reference Does Not Exist"

    End If

End Sub

2 个答案:

答案 0 :(得分:0)

尝试更换:

mysearch = Me.txtDate.Value

使用:

mysearch = cDate(Me.txtDate.Value)

答案 1 :(得分:0)

看起来以If Not foundCell开头的语句会在foundCell为Nothing时导致您的错误,因为它在评估foundCell.Offset(0,27)的同时出现错误。

我建议将foundCell.Offset逻辑分离为嵌套的IF语句。

此外,如果您查找

,似乎您的foundCell.Offset测试效果更好
If foundCell.Offset(0, 27).Value = Null then

而不是

if foundCell.Offset(0, 27) is Null

祝你好运!