資料在Excel表中的篩選, 也就是根據定義的條件將需要的資料記錄從資料清單中選擇出來, 同時Excel表只顯示你選擇的這一部分資料, 而不是全部, 主要是用來對資料進行整理和分析或資料的提取的。 資料篩選相當於資料庫中的“查詢”(Select)命令(通過子命令Where定義條件)。 (Excel中定義的資料篩選源區域也就是資料清單, 是有資料庫中的表的概念的, 表頭相當於欄位, 表頭下的每一行就是記錄。 )
Excel中的資料篩選都需要定義篩選的條件, 根據構造條件的方式不同分為自動篩選和高級篩選。 自動篩選是通過對話方塊來構造單一條件,
Excel中的篩選, 可以通過工作表選項卡區中的命令直接完成, 也可以通過VBA代碼完成。 (其實也就是將整個篩選操作的過程錄製成宏, 再適當修改代碼。 )
1 多條件自動篩選Sub Filter_MoreCriteria()
Dim Crit As Variant
Application.ScreenUpdating = False
With Worksheets(1)
If .FilterMode = True Then .ShowAllData
.Range("A1").AutoFilter Field:=1, Criteria1:="1243301", Operator:=xlOr, Criteria2:="1288178"
.Range("B1").AutoFilter Field:=2, Criteria1:="ORA"
End With
Application.ScreenUpdating = True
End Sub
Sub 高級篩選提取唯一值()
Dim X As Integer
Columns(13).Clear
X = Range("A" & Cells.Rows.Count).End(xlUp).Row
Range("A1:A" & X).AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range("M1"), Unique:=True
End Sub
使用AutoFilter或AdvancedFilter方法完成自動篩選或高級篩選:
工作簿.儲存格對象.AutoFilter ...
工作簿.儲存格對象.AdvancedFilter ...
以上代碼完成的如下命令的功能:
資料→篩選…
資料→高級篩選...
(如果不熟悉相關VBA代碼, 可以通過“錄製巨集”的方式先錄得代碼, 再適當改動即可。
4 篩選的工作表選項卡區圖示命令操作4.1 自訂篩選
對某列定義篩選條件實現篩選;
4.2 高級篩選
4.2.1 建立條件區域(與需要篩選的資料清單分開);
4.2.2 可以將篩選結果複製到其它區域;
4.2.3 指定需要篩選的清單區域;
4.2.4 指定條件區域;