簡體   English   中英

Excel表-在多個工作表之間復制自動篩選

[英]Excel Table - Copy autofilter across multiple sheets

我有5個不同的工作表,它們具有不同的數據集,但是我想在同一日期將它們全部過濾掉。 我正在尋找一種通過VBA或通過Advanced Filter(?)自動化的方法,而我正努力尋找一種方法。

我要做的是將一個過濾器應用於一個“主”工作表,而其余4個工作表將自動應用與主工作表中的日期過濾器相同的日期過濾器。 例如,如果我想顯示2015年11月的所有數據,如果我在工作表1中對此進行過濾,希望工作表2、3和4也會顯示2015年11月的數據。

我在網上找到了許多VBA解決方案,這些解決方案在代碼中指定了過濾條件,但是這些條件會根據用戶的要求而變化。 有沒有辦法從主表跨過濾器進行復制? 這是我為里面的標准找到的代碼。

Private Sub Worksheet_Change(ByVal Target As Range)
    ActiveSheet.ListObjects("Table4").Range.AutoFilter Field:=3, Criteria1:="=True"
End Sub 

提前致謝!

假設您僅在主表中選擇一個條件,則可以在主工作表中使用VBA ComboBOX控件來填充過濾條件。 下一步,您可以為ComboBox更改事件編寫如下所示的代碼,該代碼會將過濾器應用於所有剩余的四個工作表。
在此ComboBox更改事件宏中,您可以采用ComboBox的值,並將其作為所有四個工作表的過濾條件傳遞,如下所示。 請注意,在我的情況下,我考慮的表只有兩列,第一列在每個工作表中都有日期過濾條件,表中的第二列有一些虛擬值。

Private Sub ComboBox21_Change()
Date = ComboBox21.Value
Worksheets("Sheet1").Range("Table1").AutoFilter Field:=1, Operator:= _
        xlFilterValues, Criteria2:=Array(1, Date)
Worksheets("Sheet2").Range("Table2").AutoFilter Field:=1, Operator:= _
        xlFilterValues, Criteria2:=Array(1, Date)
Worksheets("Sheet3").Range("Table3").AutoFilter Field:=1, Operator:= _
        xlFilterValues, Criteria2:=Array(1, Date)
Worksheets("Sheet4").Range("Table4").AutoFilter Field:=1, Operator:= _
        xlFilterValues, Criteria2:=Array(1, Date)
End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM