Vba 运行时错误';9';:运行宏时出现下标超出范围

Vba 运行时错误';9';:运行宏时出现下标超出范围,vba,excel,Vba,Excel,我是VBA新手,我正在尝试创建一个简单的销售数据收集,以供练习。我一直遇到运行时错误,下面是代码: Private Sub CommandButton1_Click() Dim myWorksheet As Worksheet Dim myFirstBlackRow As Long Set myWorksheet = Worksheets("Sheet1") With myWorksheet myFirstBlackRow = .Cells.Find(What:="*", LookIn:

我是VBA新手,我正在尝试创建一个简单的销售数据收集,以供练习。我一直遇到运行时错误,下面是代码:

Private Sub CommandButton1_Click()

Dim myWorksheet As Worksheet
Dim myFirstBlackRow As Long

Set myWorksheet = Worksheets("Sheet1")

With myWorksheet

myFirstBlackRow = .Cells.Find(What:="*", LookIn:=x1Formulas, LookAt:=x1Part, SearchOrder:=x1ByRows, SearchDirection:=x1Previous).Row + 1

With .Cells(myFirstBlackRow, 1)
    Select Case True
        Case OptionButton1.Value
            .Value = "Iphone"
        Case OptionButton2.Value
            .Value = "Samsung"
        Case OptionButton4.Value
            .Value = "Oppo"
        Case OptionButton3.Value
            .Value = "Huawei"
    End Select
End With

.Cells(myFirstBlackRow, 2).Value = Me.TextBox1.Value

End With

End Sub
感谢您的帮助,谢谢

将你所有的“1”(一)改为“l”(“l”s)


这是始终将
Option Explicit
放在每个模块顶部的许多(确实有很多)原因之一

在哪一行出现错误?如果您知道代码在哪一行停止并出现错误9,这将很有帮助。但可以肯定的是,正如错误消息所说,这样的对象或索引根本不存在,它没有显示错误发生在哪一行。但是,下面的DisplayName发现错误出现在“myFirstBlackRow=.Cells.Find”行。谢谢大家的帮助!谢谢你的快速回复!是的,现在一切都好了@AntiDrondert,这是一个很常见的问题。在“编译”时,通过将
选项显式设置为

    myFirstBlackRow = .Cells.Find(What:="*", LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row + 1