2012-11-26 68 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