【发布时间】:2019-11-06 06:55:08
【问题描述】:
我对不同的工作表使用了完全相同的代码,它可以正常工作,但是当我为同一个工作簿中的一组新工作表编辑它时,出现了运行时错误。
Private Sub cmdSearchKitDesc_Click()
Dim RowNum As Long
Dim SearchRow As Long
RowNum = 3
SearchRow = 3
Worksheets("Kit_database").Activate
Do Until Cells(RowNum, 1).Value = ""
If InStr(1, Cells(RowNum, 3).Value, txtKitKeyword.Value, vbTextCompare) > 0 Then
Worksheets("Kit_search").Cells(SearchRow, 2).Value = Cells(RowNum, 2).Value
Worksheets("Kit_search").Cells(SearchRow, 3).Value = Cells(RowNum, 3).Value
Worksheets("Kit_search").Cells(SearchRow, 4).Value = Cells(RowNum, 4).Value
Worksheets("Kit_search").Cells(SearchRow, 5).Value = Cells(RowNum, 6).Value
Worksheets("Kit_search").Cells(SearchRow, 6).Value = Cells(RowNum, 8).Value
Worksheets("Kit_search").Cells(SearchRow, 7).Value = Cells(RowNum, 9).Value
SearchRow = SearchRow + 1
End If
RowNum = RowNum + 1
Loop
If SearchRow = 2 Then
MsgBox "No kits were found that match your criteria."
Exit Sub
End If
lstKitResult.RowSource = "KitKit"
End Sub
我已将 RowNum 更改为 3 以匹配工作表的列(在这种情况下,我想搜索套件的描述)我想分别在字符串中搜索和。我仔细检查了它使用的工作表和偏移函数的名称是否正确。
我想填充的列表框使用,
lstKitResult.RowSource = "KitKit" 其中“KitKit”使用以下偏移公式,
=OFFSET(Kit_search!$B$3,0,0,COUNTA(Kit_search!$C:$C)-1,6)
“Kit_database”表包含我要搜索的所有不同类型的套件。 “Kit_search”表是所有与搜索的套件描述匹配的结果的占位符。 OFFSET 函数拉取数据“Kit_search”,应该用txtKitKeyword.Value的搜索结果填充
我尝试了不同的列号和工作表名称以确保匹配,但总是出现运行时错误。
【问题讨论】: