VBA在searchbuild议的用户窗体上筛选combobox

我用一些combobox创build了一个excel用户表单,附上了一个文档,解决了基本问题。

我想出了如何过滤/自动更新我的combobox,并减lessinput列表,而我开始在列表中键入。 然而,只要我select一个项目,我得到以下错误:“无法获得Range类的CurrentRegion属性”。 我已经尝试了许多不同的解决scheme来摆脱这个问题。 但是还是无法弄清楚这个最后的错误。 即使当我尝试使用“范围”,而不是“CurrentRegion”,我得到这些错误。

因为我想将这个特性应用到我的用户窗体上的所有combobox上,所以我把所有的东西放在类事件中。

我已经在网上find了一些东西,但是这些基本上都是在工作表上的combobox。 我喜欢主动更新用户表单上的数据。 我想我已经把我在网上find的所有东西都应用到了我现在有的代码中,但仍然需要解决这个最后的问题。

这是我的示例文件

非常感谢你!

最好的问候,马塞尔

Option Explicit Public WithEvents myCBox As msForms.ComboBox Dim data As Range Private Sub myCBox_Change() Set data = filter.Cells(1, 1).CurrentRegion ' filter.Activate With myCBox .DropDown ' FILTER list.Cells(1, 1).CurrentRegion.AutoFilter Field:=1, Criteria1:="*" & .Value & "*" ' COPY filter.Cells.Clear list.Cells(1, 1).CurrentRegion.Copy Destination:=filter.Cells(1, 1) Set data = filter.Cells(1, 1).CurrentRegion num_rows_2 = data.Rows.Count ' UPDATE COMBOBOX .RowSource = "filter!A2:A" & num_rows_2 End With End Sub