为什么我在Excel VBA中收到运行时错误“ 91”

时间:2020-07-13 07:19:50

标签: excel vba

我正在尝试使用宏来创建条形码的输入/输出寄存器,而我正在使用在网上找到的代码。 问题是当我插入条形码时,会弹出错误“ 91”并突出显示行ActiveSheet.Range(“ a4:a150”)。Find(“”)。Select 我对编码世界完全陌生,不知道出了什么问题。非常感谢您的帮助!

Sub access()
Dim barcode As String
Dim rng As Range
Dim foundVal As Range
Dim diff As Double
Dim rownumber As Long

barcode = ActiveSheet.Cells(2, 1)
If barcode <> "" Then
    Set rng = ActiveSheet.Range("a4:a150").Find(What:=barcode, _
    LookIn:=xlFormulas, LookAt:=xlWhole, SearchOrder:=xlByRows, _
    SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False)
    If rng Is Nothing Then
ActiveSheet.Range("a4:a150").Find("").Select
ActiveCell.Value = barcode
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Date & "  " & Time
ActiveCell.NumberFormat = "d/m/yyyy h:mm:ss AM/PM"
ActiveSheet.Cells(2, 1) = ""
    Else
        rownumber = rng.Row
        ActiveSheet.Range(Cells(rownumber, 1), Cells(rownumber, 10)).Find("").Select
        ActiveCell.Value = Date & "  " & Time
        ActiveCell.NumberFormat = "d/m/yyyy h:mm:ss AM/PM"
        ActiveSheet.Cells(2, 1) = ""
    End If
End If
ActiveSheet.Cells(2, 1).Select

End Sub

1 个答案:

答案 0 :(得分:0)

如果范围内没有空单元格,则该行将引发错误。