我希望有人可以帮助我。我有以下代码,没有通过任何结果。我希望提供符合多个标准的数据。
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
答案 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
祝你好运!