首页 > 解决方案 > 未填充 vba 用户窗体上的目标文本框时出错

问题描述

提交客人入住详情时我不需要填充搜索框,我使用的代码如下,是否可以添加其他代码以避免此错误。提前致谢!!!!!lblrow.Caption = .Row '错误行

Private Sub Txtforename_Change()
    Dim rng As Range
    lblrow.Visible = False

    With Sheets("Report")
        Set rng = Range(.Cells(1, 1), .Cells(1, 1).End(xlDown))
    End With

    With rng.Find(Txtguestsearch, lookat:=xlWhole)
        lblrow.Caption = .Row
    End With
End Sub

标签: excelvba

解决方案


您需要为该方法找不到您的值的可能性进行编码Range.Find。我还更新了您的LRow计算以使用 with 块和更标准的 calc

Private Sub Txtforename_Change()

Dim rng As Range, Found as Range
lblrow.Visible = False

With Sheets("Report")
    Set rng = .Range("A1:A" & .Range("A" & .Rows.Count).End(xlUp).Row)
End With

Set Found = rng.Find(Txtguestsearch, lookat:=xlWhole)

If Not Found is Nothing Then
    With Found
        lblrow.Caption = .Row
    End With
Else                          '<--Optional
    MsgBox "Not Found"        '<--Optional
End If                      

End Sub

推荐阅读