2012-11-26 48 views
0

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

我该如何去做这件事?

我尝试下面的代码:

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

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

enter image description here

+0

正如你所看到的,我对Excel不太好。有没有办法让过滤器只有这些选项的下拉框?过滤器本身更加强大和可定制,但我喜欢组合框提供的简单性。编辑:其实,没关系。最初设置此电子表格的人要求下拉菜单,但我发现其他筛选器是以这种方式设置的。谢谢! – TimeBomb006

+0

@ user1496816,您将始终在列中使用不同的数据。 ;)祝你的床单好运! – CustomX