簡(jiǎn)單篩選 使用Range對(duì)象的AutoFilter方法,,可對(duì)Range區(qū)域的數(shù)據(jù)中使用“自動(dòng)篩選”篩選一個(gè)列表,。該方法的語(yǔ)法如下: 表達(dá)式.AutoFilter(Field, Criteria1, Operator, Criteria2, VisibleDropDown) 各參數(shù)的含義如下: — Field:相對(duì)于作為篩選基準(zhǔn)字段(從列表左側(cè)開(kāi)始,,最左側(cè)的字段為第一個(gè)字段)的字段的整型偏移量,。 — Criteria1:篩選條件,,為一個(gè)字符串,。使用“=”可查找空字段,,或者使用“<>”查找非空字段。如果省略該參數(shù),,則搜索條件為All,。如果將Operator設(shè)置為xlTop10Items,則Criteria1指定數(shù)據(jù)項(xiàng)個(gè)數(shù)(例如,,“10”),。 — Operator:指定篩選類型,可用常量如表12-2所示,。 表12-2 篩選類型
— Criteria2:第二個(gè)篩選條件(一個(gè)字符串),。與Criteria1和Operator一起組合成復(fù)合篩選條件。 — VisibleDropDown:如果為True,,則顯示篩選字段的自動(dòng)篩選下拉箭頭,。如果為False,則隱藏篩選字段的自動(dòng)篩選下拉箭頭,。默認(rèn)值為True,。
高級(jí)篩選 Excel的高級(jí)篩選可用VBA代碼來(lái)實(shí)現(xiàn),使用Range對(duì)象的AdvancedFilter方法即可進(jìn)行高級(jí)篩選,。 高級(jí)篩選必須在工作表中定義一個(gè)條件區(qū)域,,通過(guò)該條件從列表中篩選或復(fù)制數(shù)據(jù)。如果初始選定區(qū)域?yàn)閱蝹€(gè)單元格,,則使用單元格的當(dāng)前區(qū)域,。AdvancedFilter方法的語(yǔ)法格式如下: 表達(dá)式.AdvancedFilter(Act 該方法各參數(shù)的含義如下: — Act — CriteriaRange:條件區(qū)域,。如果省略該參數(shù),,則沒(méi)有條件限制。 — CopyToRange:如果Act — Unique:如果為True,,則只篩選唯一記錄。如果為False,,則篩選符合條件的所有記錄,。默認(rèn)值為False。 Sub 高級(jí)篩選() Dim rng As Range, rng1 As Range
Application.ScreenUpdating = False Application.Calculation = xlCalculationManual '手動(dòng)重算
Set rng = Worksheets("Sheet1").Range("A19").CurrentRegion Set rng = rng.Offset(1, 0).Resize(rng.Rows.Count - 1, rng.Columns.Count)
Set rng1 = Worksheets("Sheet1").Range("A1").CurrentRegion Set rng1=rng1.Offset(1,0).Resize(rng1.Rows.Count-1, rng1.Columns.Count)
rng1.AdvancedFilter Act Application.Calculation = xlCalculationAutomatic '自動(dòng)重算 Application.ScreenUpdating = True End Sub 以上代碼首先獲取工作表中條件區(qū)域和篩選數(shù)據(jù)區(qū)域的引用,,最后使用AdvancedFilter方法對(duì)數(shù)據(jù)區(qū)域進(jìn)行篩選
取消篩選 Sub 取消篩選() Dim ws1 As Worksheet For Each ws1 In Worksheets ws1.AutoFilterMode = False Next End Sub
對(duì)日期段做篩選 Private Sub vv()
|
|
來(lái)自: 默默小卒boe436 > 《待分類》