Excel Microsoft VBA下标超出范围-错误9

Excel Microsoft VBA下标超出范围-错误9,excel,vba,subscript,Excel,Vba,Subscript,我是VBA新手。我目前正在为我的论文研究创建一个表格。但我遇到了“下标超出范围”错误9。它也不会在通知中显示“调试”选项。在我输入代码之前,一切都正常 有人能帮我解决或重做这个吗?代码如下: Sub show_Sale_Available_Data() Dim dsh As Worksheet Dim sh As Worksheet Set dsh = ThisWorkbook.Sheets("Sale_Available") Set sh = ThisWorkbook

我是VBA新手。我目前正在为我的论文研究创建一个表格。但我遇到了“下标超出范围”错误9。它也不会在通知中显示“调试”选项。在我输入代码之前,一切都正常

有人能帮我解决或重做这个吗?代码如下:

Sub show_Sale_Available_Data()

Dim dsh As Worksheet
Dim sh As Worksheet

Set dsh = ThisWorkbook.Sheets("Sale_Available")

Set sh = ThisWorkbook.Sheets("Sale_Availabale_Display")

dsh.AutoFilterMode = False

dsh.Range("H:H").NumberFormat = "D-MMM-YYYY"

'''' filter here
dsh.UsedRange.AutoFilter 8, ">=" & Me.txt_Date_start.Value, xlAnd, "<=" & Me.txt_Date_End.Value

If Me.OptionButton2.Value = True Then
dsh.UsedRange.AutoFilter 3, "Add to Stocks"
End If

If Me.OptionButton7.Value = True Then
dsh.UsedRange.AutoFilter 3, "Sale"
End If

sh.UsedRange.Clear

dsh.UsedRange.Copy
sh.Range("A1").PasteSpecial xlpastevalueandnumberformats


''' show data in listbox

Dim lr As Long
lr = Application.WorksheetFunction.CountA(sh.Range("A:A"))

If lr = 1 Then lr = 2

With Me.ListBox2
    .ColumnCount = 8
    .ColumnHeads = True
    .ColumnWidths = "0,150,65,65,65,65,65,65"
    .RowSource = sh.Name & "!A2:H" & lr
End With


End Sub
Sub show\u Sale\u Available\u Data()
将dsh设置为工作表
将sh设置为工作表
设置dsh=ThisWorkbook.Sheets(“销售可用”)
Set sh=ThisWorkbook.Sheets(“销售可用性显示”)
dsh.AutoFilterMode=False
dsh.Range(“H:H”).NumberFormat=“D-MMM-YYYY”
''过滤器在这里

dsh.UsedRange.AutoFilter 8,“>=”&Me.txt\u Date\u start.Value,xlAnd,“您没有指明哪一行,但通常这意味着一张工作表或其他东西不存在。“销售可用吗?”键入错误?如果列
a
为空,则
lr=0
。在以
Set
开头的第一行上设置断点,然后在调试器中单步执行代码。您不需要在错误消息中使用调试选项来调试代码。当您将其缩小到一行代码后,我们可以尝试提供帮助。^或将您的错误处理模式更改为“打断类模块”。