如何修复";运行时错误'380':无法设置RowSource属性&"



我对不同的工作表使用了完全相同的代码,它工作正常,但当我为同一工作簿中的一组新工作表编辑它时,会出现运行时错误。

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,以匹配工作表的列(在这种情况下,我想搜索工具包的描述(,我想在字符串中分别搜索和。我已经仔细检查了它使用的工作表和OFFSET函数的名称是否正确。

我想填充的列表框使用,lstKitResult.RowSource = "KitKit",其中"KitKit"使用以下OFFSET公式,=OFFSET(Kit_search!$B$3,0,0,COUNTA(Kit_search!$C:$C)-1,6)

"试剂盒数据库"表包含我要搜索的所有不同类型的试剂盒。"试剂盒搜索"表是与搜索到的试剂盒描述匹配的所有结果的占位符。OFFSET函数提取应该用txtKitKeyword.Value的搜索结果填充的数据"Kit_search">

我尝试了不同的列编号和工作表名称以确保匹配,但总是会出现运行时错误。

这取决于"KitKit"是什么。您需要设置RowSourceType才能正确解释该值。如果您将其设置为"Value List",则该列表将仅包含"KitKit"。因此,我必须假设您正在尝试使用Table\Query或FieldList。听起来就像你在说"KitKit"是一个指向偏移公式的命名范围。这确实是一个错误。"KitKit"的结果必须包含和应答,其格式必须与RowSourceType匹配。

lstKitResult.RowSourceType = "Field List" 

来自文件:

RowSource属性设置取决于RowSourceType属性背景对于此RowSourceType设置输入此RowSource设置

Table/Query     A table name, query name, or SQL statement.
Value List      A list of items with semicolons (;) as separators.
Field List      A table name, query name, or SQL statement.

来源:https://learn.microsoft.com/en-us/office/vba/api/access.listbox.rowsource

最新更新