篩選功能相信大家再熟悉不過了,動動小手指,勾選需要的字段即可完成。
但是當同時篩選多個字段的時候,就略微繁瑣,需要一個個去下拉字段選擇,這裡我做了個小模闆,隻要鼠标點擊幾下,一鍵篩選即可。
動态展示如下:
一是多列篩選中,需要篩選哪個字段,選中哪個字段,底色被填充,突出顯示;
二是點擊篩選按鈕,底部數據即被篩選出來。
整體來說操作感更強,可視化效果更明顯。
制作過程這個模闆主要是用VBA實現的,一共三段代碼:
第一段最為重要,用來實現篩選框底部顔色的填充,當鼠标選擇發生變化時,判斷鼠标的位置,如果位于篩選框區域,這對相應的單元格底色進行填充,并在Excel固定單元格保存選中的數據;
注意點:
1、此段代碼是在當前工作表Sheet1下輸入的,且在代碼輸入框的頂部選擇【Worksheet】與【SelectionChange】,表示此段代碼隻在當前工作表中有效,且當選擇發生變化時運行;
2、3段IF語句,負責判斷鼠标是否選中篩選區域,如果選中,則将對應區域底色填充,并将選中的單元格内容保存到固定單元格【m2:O2】,便于下部篩選(将這三個單元格的顔色設置為白色)
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Row = 2 And Target.Column >= 2 And Target.Column <= 8 And Target.Text <> "" And Target.Count = 1 Then
Range("B2:h2").Interior.ThemeColor = xlThemeColorLight2
Range("B2:h2").Interior.TintAndShade = 0.799981688894314
Cells(Target.Row, Target.Column).Interior.Color = 15773696
Cells(2, 13) = Target.Text
End If
If Target.Row = 4 And Target.Column >= 2 And Target.Column <= 3 And Target.Text <> "" And Target.Count = 1 Then
Range("B4:C4").Interior.ThemeColor = xlThemeColorLight2
Range("B4:C4").Interior.TintAndShade = 0.799981688894314
Cells(Target.Row, Target.Column).Interior.Color = 15773696
Cells(2, 14) = Target.Text
End If
If Target.Row = 6 And Target.Column >= 2 And Target.Column <= 3 And Target.Count = 1 Then
Range("B6:C6").Interior.ThemeColor = xlThemeColorLight2
Range("B6:C6").Interior.TintAndShade = 0.799981688894314
Cells(Target.Row, Target.Column).Interior.Color = 15773696
Cells(2, 15) = Target.Text
End If
End Sub
第二段代碼主要是實現篩選的功能。
篩選
注意點:
Field:=1,代表表格的第一列删選為o2;
Field:=2,代表表格的第二列删選為m2;
Field:=3,代表表格的第三列删選為n2;
o2/n2/m2是通過第一段代碼獲得,在表格中,字體白色處理;
Sub 篩選()
a = Cells(Rows.Count, 1).End(xlUp).Row
Range("B9").Select
Selection.AutoFilter
ActiveSheet.Range("$A$8:$W$" & a).AutoFilter Field:=1, Criteria1:=Range("o2")
ActiveSheet.Range("$A$8:$W$" & a).AutoFilter Field:=2, Criteria1:=Range("m2")
ActiveSheet.Range("$A$8:$W$" & a).AutoFilter Field:=3, Criteria1:=Range("n2")
Range("A1").Select
End Sub
第三段代碼比較簡單,取消篩選,選中表格任一單元格,Selection.AutoFilter取消篩選即可。
取消篩選
Sub 清除篩選()
Range("B9").Select
Selection.AutoFilter
End Sub
也許有些小夥伴會覺得這個模闆看着比較雞肋,但在某些場景下還是比較實用的,适合多部門分享查看,給人耳目一新的感覺。
需要模闆的小夥伴可在後台私我,發送“篩選”二字即可。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!