Autofilter基于组合框值?

时间:2012-11-26 15:15:43

标签: excel excel-vba vba

我想在“问题状态”列上方放置一个组合框,以根据从此列中选择的值过滤整个工作表。理想情况下,组合框有三个选项 - “打开”,“关闭”和“任何”。

我该怎么做呢?

我尝试了以下代码:

Private Sub ComboBox1_Change()
    Dim sFilter As String
    sFilter = ActiveSheet.DropDowns(Application.Caller).List(ActiveSheet.DropDowns(Application.Caller).Value)
    On Error Resume Next
    ActiveSheet.AutoFilterMode = False
    ActiveSheet.UsedRange.AutoFilter 1, sFilter
End Sub

但是,这会引发错误:Run-time error 1004: Unable to get the DropDowns property of the worksheet class.

此外,它在组合框中多次列出值。例如,组合框的索引1 =“打开”,索引2也=“打开”等。我想只显示不同的值并根据它进行过滤。

有更好的方法吗?我做错了什么?

1 个答案:

答案 0 :(得分:1)

只需使用过滤器,数据>过滤。

enter image description here