从窗体控件更改为ActiveX时,“范围类的自动过滤方法失败”

我正在使用Excel 2013,并将下面的代码放在窗体控件DropDown / ComboBox:

Private Sub ComboBox2_Change() Dim Issuer As String Dim FirstRow As Long Dim LastRow As Long Dim LastCol As Long Dim ws1 As Worksheet Set ws1 = Worksheets("Data") Issuer = ws1.Range("IssuerNum").Value If Issuer = "All" Then ws1.ListObjects("Table1").Range.AutoFilter _ Field:=1, Criteria1:="<>", Operator:=xlFilterValues LastRow = ws1.Cells(ws1.Rows.Count, "A").End(xlUp).Row FirstRow = ws1.Cells(2, 1).Row Else ws1.ListObjects("Table1").Range.AutoFilter _ Field:=1, Criteria1:=Issuer, Operator:=xlFilterValues With ws1.ListObjects("Table1").AutoFilter.Range.SpecialCells(xlCellTypeVisible) LastRow = .Areas(.Areas.Count).Row + .Areas(.Areas.Count).Rows.Count - 1 End With FirstRow = ws1.ListObjects("Table1").AutoFilter.Range.Offset(1).SpecialCells(xlCellTypeVisible).Cells(1, 2).Row End If 

以前,我在过滤数据的工作表上使用了Form Control中的相同代码。 无论下拉列表中select了什么值,都是驱动filter的原因。 一切都很完美。 然后,我决定使用ActiveX控件combobox,并将此代码添加到新combobox现在所在的单独工作表(控制面板)上的combobox更改子部分。 每当我select的值,我得到的范围类失败AutoFilter方法