【发布时间】:2022-12-17 16:11:23
【问题描述】:
附加信息。
vba代码是搜索引擎,目的是在我用公式过滤的另一张纸上获取客户详细信息(姓名)列表。
这是背景数据工作表。 Worksheets "background data" 通过使用我在组合框中输入的值进行过滤。
它适用于组合框, This is the result 但是当我点击任何客户名称时, 弹出下面的错误。
我对 excel 中的 vba 代码有疑问
你们能帮我解决这个错误吗?
无效的属性数组索引(错误 381)
Option Explicit
Private Comb_Arrow As Boolean
Private Sub search_engine_Change()
Dim i As Long
If Not Comb_Arrow Then
With Me.search_engine
.list = Worksheets("BACKGROUND DATA").Range("B2", Worksheets("BACKGROUND DATA").Cells(Rows.Count, "B").End(xlUp)).Value
.ListRows = Application.WorksheetFunction.Min(4, .ListCount)
.DropDown
If Len(.Text) Then
For i = .ListCount - 1 To 0 Step -1
If InStr(1, .list(i), .Text, vbTextCompare) = 0 Then .RemoveItem i
Next
.DropDown
End If
End With
End If
End Sub
Private Sub search_engine_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
Comb_Arrow = (KeyCode = vbKeyUp) Or (KeyCode = vbKeyDown)
If KeyCode = vbKeyReturn Then Me.search_engine.list = Worksheets("BACKGROUND DATA").Range _
("B2", Worksheets("BACKGROUND DATA").Cells(Rows.Count, "B").End(xlUp)).Value
End Sub
【问题讨论】:
-
要调试它,我们需要确切地知道是哪一行导致错误,以及错误发生时变量的值
标签: excel vba excel-formula