我为不同的工作表使用了下面完全相同的代码,并且可以正常工作,但是当我在同一工作簿中为一组新的工作表编辑它时,会出现运行时错误。
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公式,
=OFFSET(Kit_search!$B$3,COUNTA(Kit_search!$C:$C)-1,6)
“ Kit_database”工作表包含了我要搜索的所有不同类型的工具包。 “ Kit_search”表是所有与搜索到的试剂盒描述匹配的结果的占位符。 OFFSET函数提取应使用txtKitKeyword.Value
我尝试使用不同的列号和工作表名称来确保所有内容匹配,但始终会出现运行时错误。