- Excel VBA范例大全
- 羅剛君編著
- 253字
- 2018-12-29 15:15:36
第5部分 數據篩選
工作簿中數據較多時,為便于查看指定部分數據,可以通過Excel的數據篩選功能將目標數據篩選出來。
篩選的分類:按條件類型來分可以分為按數值篩選、按字符篩選、按顏色篩選三種;按篩選條件個數來分可以分為單條件篩選(自動篩選都是單條件篩選)和雙條件篩選(在自定義篩選選項中操作)兩種方式;按篩選方式來分可以分為自動篩選和高級篩選,其中高級篩選可以將篩選結果顯示在其他區域。
按顏色篩選是Excel 2007新增功能,若文件用Excel 2003或者更低版本保存時顏色篩選將不可用。
本部分主要知識點:
● 單條件數據篩選
● 多條件數據篩選
● 刪除篩選
第19章 單條件篩選
單條件篩選一般使用自動篩選方式操作。每列可以按照一個規則進行篩選,可以是數值大小,也可以是字符(包含通配符)比較,還可以以單元格顏色為基準進行篩選。本章通過6個實例演示單條件篩選中的技巧。
● 實例128篩選大于60分之成績
● 實例129篩選小于等于60分之數據
● 實例130篩選高于平均值之數據
● 實例131篩選前五個最大值
● 實例132篩選不包含指定字符之數據
● 實例133按顏色篩選數據
實例128 篩選大于60分之成績
【技巧說明】 篩選當前列大于60分之成績。
【案例介紹】 如圖5.1所示,成績表中成績分布于50分至98分之間,現需要顯示大于60分的成績,其他數據自動隱藏。
【案例實現】 參見以下步驟:
[1] 使用快捷鍵Alt+F11進入VBE(Visual Basic Editor)環境。
[2] 單擊菜單【插入】\【模塊】,打開模塊代碼窗口。
[3] 在右邊代碼窗口輸入以下代碼:
Sub篩選大于60分之成績() ActiveCell.CurrentRegion.AutoFilter Field:=2, Criteria1:=">60", Operator:=xlAnd End Sub
[4] 關閉VBE窗口返回到工作表。
[5] 選中當前區域中任意單元格,用快捷鍵Alt+F8調出運行宏窗口,然后單擊“執行”按鈕,當前區域中大于60分的數據已篩選出來,結果如圖5.2所示。

圖5.1 待篩選的原始數據

圖5.2 篩選后的成績表
提示
本實例參見光盤樣本:..\第5部分\實例128.xlsm。
【相關知識說明】
AutoFilter:使用“自動篩選”方式篩選一個列表。其參數列表見表5.1。
表5.1 AutoFilter參數列表

實例129 篩選小于等于60分之數據
【技巧說明】 篩選小于等于60分之數據。
【案例實現】 參見以下步驟:
【案例介紹】 以實例128數據為例,篩選出小于等于60分之數據。
[1] 使用快捷鍵Alt+F11進入VBE(Visual Basic Editor)環境。
[2] 單擊菜單【插入】\【模塊】,打開模塊代碼窗口。
[3] 在右邊代碼窗口輸入以下代碼:
Sub篩選小于等于60分之成績() ActiveCell.CurrentRegion.AutoFilter Field:=2, Criteria1:="<=60",Operator:=xlAnd End Sub
[4] 關閉VBE窗口返回到工作表。
[5] 選中當前區域中任意單元格,用快捷鍵Alt+F8調出運行宏窗口,然后單擊“執行”按鈕,當前區域中小于等于60分的數據都已篩選出來。
提示
本實例參見光盤樣本:..\第5部分\實例129.xlsm。
實例130 篩選高于平均值之數據
【技巧說明】 篩選高于平均值之數據。
【案例介紹】 以實例128數據為例,篩選出高于平均值之數據。
【案例實現】 參見以下步驟:
[1] 使用快捷鍵Alt+F11進入VBE(Visual Basic Editor)環境。
[2] 單擊菜單【插入】\【模塊】,打開模塊代碼窗口。
[3] 在右邊代碼窗口輸入以下代碼:
S Sub篩選高于平均分之成績() ActiveCell.CurrentRegion.AutoFilter Field:=2, _ Criteria1:=xlFilterAboveAverage, Operator:=xlFilterDynamic End Sub
[4] 關閉VBE窗口返回到工作表。
[5] 選中當前區域中任意單元格,用快捷鍵Alt+F8調出運行宏窗口,然后單擊“執行”按鈕,當前區域中高于平均值之數據已篩選出來,結果如圖5.3所示。

圖5.3 篩選出高于平均值的數據
提示
本實例參見光盤樣本:..\第5部分\實例130.xlsm。
【相關知識說明】
(1)xlFilterAboveAverage:表示篩選條件為“高于平均值”。數據篩選的條件列表見表5.2。
表5.2 數據篩選的條件列表

(2)Operator:指定用于關聯兩個篩選條件的操作符。本實例中使用xlFilterDynamic表示動態篩選??蛇x項見表5.3。
表5.3 篩選條件間的可選操作符列表

實例131 篩選前五個最大值
【技巧說明】 篩選前五個最大值。
【案例介紹】 以實例128數據為例,篩選出前五個最大值。
【案例實現】 參見以下步驟:
[1] 使用快捷鍵Alt+F11進入VBE(Visual Basic Editor)環境。
[2] 單擊菜單【插入】\【模塊】,打開模塊代碼窗口。
[3] 在右邊代碼窗口輸入以下代碼:
Sub篩選前五個最大值() ActiveCell.CurrentRegion.AutoFilter Field:=2, Criteria1:="5", Operator:=xlTop10Items End Sub
[4] 關閉VBE窗口返回到工作表。
[5] 選中當前區域中任意單元格,用快捷鍵Alt+F8調出運行宏窗口,然后單擊“執行”按鈕,當前區域中前五個最大值已篩選出來,結果如圖5.4所示。

圖5.4 篩選出的前五個最大值
提示
本實例參見光盤樣本:..\第5部分\實例131.xlsm。
實例132 篩選不包含指定字符之數據
【技巧說明】 篩選不包含“差”之數據。
【案例介紹】 以實例128數據為例,篩選出評語不為“差”的數據。
【案例實現】 參見以下步驟:
[1] 使用快捷鍵Alt+F11進入VBE(Visual Basic Editor)環境。
[2] 單擊菜單【插入】\【模塊】,打開模塊代碼窗口。
[3] 在右邊代碼窗口輸入以下代碼:
Sub篩選不包含“差”之數據() ActiveCell.CurrentRegion.AutoFilter Field:=3, Criteria1:="<>差" End Sub
[4] 關閉VBE窗口返回到工作表。
[5] 選中當前區域中任意單元格,用快捷鍵Alt+F8調出運行宏窗口,然后單擊“執行”按鈕,當前區域中評語不為“差”的數據已篩選出來,結果如圖5.5所示。

圖5.5 篩選出的評語不為“差”的數據
提示
本實例參見光盤樣本:..\第5部分\實例132.xlsm。
【相關知識說明】
(1)AutoFilter:使用“自動篩選”方式篩選一個列表。其參數列表見表5.1。
(2)Criteria1:="<>差":篩選條件為“<>差”。可以使用通配符,例如,評語中包含“極差”和“特別差”等,條件可以改用“<>*差”,表示排除最后一個字符為“差”的數據。
通配符有兩個:*和?,前者代表任意字符,后者代表單個字符。
實例133 按顏色篩選數據
【技巧說明】 按顏色篩選數據。
【案例介紹】 如圖5.6所示,部分數據已用顏色標示,部分無背景色,現需篩選出有黃色背景色的數據。
【案例實現】 參見以下步驟:
[1] 使用快捷鍵Alt+F11進入VBE(Visual Basic Editor)環境。
[2] 單擊菜單【插入】\【模塊】,打開模塊代碼窗口。
[3] 在右邊代碼窗口輸入以下代碼:
Sub按顏色篩選數據() ActiveCell.CurrentRegion.AutoFilter Field:=3, Criteria1:=RGB(255, 255, 0), Operator:=xlFilterCellColor End Sub
[4] 關閉VBE窗口返回到工作表。
[5] 選中當前區域中任意單元格,用快捷鍵Alt+F8調出運行宏窗口,然后單擊“執行”按鈕,當前區域中評語為黃色背景的數據已篩選出來,結果如圖5.7所示。

圖5.6 以顏色標示評語的成績表

圖5.7 僅篩選出黃色背景的數據
提示
本實例參見光盤樣本:..\第5部分\實例133.xlsm。
【相關知識說明】
Criteria1:=RGB(255, 255, 0 ):表示篩選條件為黃色。
- Office 2019高效辦公三合一從入門到精通(視頻自學版)
- Access 2010數據庫實用教程
- 非常Easy:Office高效辦公
- Excel 2013從入門到精通
- Word/Excel/PPT 2019應用與技巧大全(視頻自學版)
- 新編Word/Excel/PPT 2016高效辦公三合一(全彩版)
- Excel 2013實戰應用超級手冊
- 巧學巧用Excel:迅速提升職場效率的關鍵技能
- 新編電腦辦公(Windows 7 + Office 2016版)從入門到精通
- IT審計:用SQL+Python提升工作效率
- 如何高效辦公:Word2013經典應用技巧大全
- 和秋葉一起學:秒懂Word
- WPS Office辦公應用基礎教程
- Excel函數與公式速查手冊(第2版)
- Excel VBA實戰應用一本通