自動(dòng)過(guò)濾filter處理的結(jié)果,如何復(fù)制到別的sheet,?這里重點(diǎn)是,,復(fù)制的對(duì)象是過(guò)濾后的數(shù)據(jù),而不是全部的數(shù)據(jù),。
看實(shí)現(xiàn)過(guò)濾數(shù)據(jù)復(fù)制的代碼
代碼
|
Sub Macro3()
With Worksheets("Sheet1")
.Range("A1").AutoFilter _
Field:=7, _
Criteria1:=">=200", Operator:=xlAnd, _
Criteria2:="<=300"
.Range("A1").CurrentRegion.SpecialCells(xlCellTypeVisible).Copy _
Worksheets("Sheet2").Range("A1")
End With
End Sub |
運(yùn)行結(jié)果(sheet2的數(shù)據(jù))
上圖中,,復(fù)制后的單元格,用的是sheet2內(nèi)的單元格的格式,。如果想帶著格式復(fù)制呢,?
只要加上小許代碼即可
代碼
|
Sub Macro3_1()
With Worksheets("Sheet1")
.Range("A1").AutoFilter _
Field:=7, _
Criteria1:=">=200", Operator:=xlAnd, _
Criteria2:="<=300"
.Range("A1").CurrentRegion.SpecialCells(xlCellTypeVisible).Copy _
Worksheets("Sheet2").Range("A1")
End With
Worksheets("Sheet2").Activate
Columns("A:H").EntireColumn.AutoFit
End Sub |
運(yùn)行結(jié)果
自動(dòng)過(guò)濾,就是數(shù)據(jù)列表中,,顯示想看到的數(shù)據(jù),,隱藏不想看到的數(shù)據(jù)。
用法
expression.AutoFilter(Field, Criteria1, Operator, Criteria2, VisibleDropDown)
- Field 過(guò)濾對(duì)象的Field,。第一左列是1,,不是0.
- Criteria1 過(guò)濾的字符串
- Operator1 過(guò)濾的條件??赡苤蛋?BR>
屬性 |
值 |
xlAnd (默認(rèn)值) |
And條件 |
1 |
xlOr |
Or條件 |
2 |
xlTop10Items |
top 10 |
3 |
xlBottom10Items |
4 |
xlTop10Percent |
5 |
xlBottom10Percent |
6 |
- Criteria2 第2個(gè)過(guò)濾條件
- VisibleDropDown true/false.是否表示下拉箭頭,。
自動(dòng)過(guò)濾例子
假設(shè)有如下表的Excel
出席番號(hào) |
氏名 |
國(guó)語(yǔ) |
算數(shù) |
理科 |
社會(huì) |
合計(jì) |
順位 |
評(píng)価 |
1001 |
佐藤 |
20 |
51 |
48 |
46 |
165 |
9 |
不可 |
1002 |
鈴木 |
56 |
64 |
67 |
59 |
246 |
5 |
良 |
1003 |
高橋 |
89 |
92 |
97 |
81 |
359 |
1 |
優(yōu) |
1004 |
田中 |
71 |
78 |
75 |
85 |
309 |
4 |
良 |
1005 |
渡辺 |
25 |
34 |
45 |
54 |
158 |
10 |
不可 |
1006 |
伊藤 |
48 |
56 |
42 |
52 |
198 |
7 |
可 |
1007 |
山本 |
92 |
88 |
84 |
76 |
340 |
2 |
優(yōu) |
1008 |
中村 |
84 |
89 |
76 |
84 |
333 |
3 |
良 |
1009 |
小林 |
61 |
59 |
65 |
54 |
239 |
6 |
可 |
1010 |
加藤 |
34 |
47 |
38 |
49 |
168 |
8 |
可 |
- 只顯示合計(jì)超過(guò)300的數(shù)據(jù)代碼
|
Sub Macro1()
With Worksheets("Sheet1")
.Range("A1").AutoFilter _
Field:=7, Criteria1:="<=300"
End With
End Sub |
運(yùn)行結(jié)果
- 只顯示200<合計(jì)<300的數(shù)據(jù)代碼
|
Sub Macro2()
With Worksheets("Sheet1")
.Range("A1").AutoFilter _
Field:=7, _
Criteria1:=">200", Operator:=xlAnd, _
Criteria2:="<300"
End With
End Sub |
運(yùn)行結(jié)果
使用AutoFilter,可以自動(dòng)過(guò)濾數(shù)據(jù),,過(guò)濾的條件,,可以通過(guò)參數(shù)來(lái)指定。
用法
方法 |
參數(shù) |
常量 |
內(nèi)容 |
AutoFilter |
Field |
|
過(guò)濾對(duì)象的序號(hào)(序號(hào),從左邊開(kāi)始記數(shù)) |
Criteria1 |
|
第1個(gè)過(guò)濾的條件 |
Criteria2 |
|
第2個(gè)過(guò)濾條件,。和第1個(gè)過(guò)濾條件結(jié)合使用。 |
VisibleDropDown |
true |
表示箭頭 |
False |
不表示箭頭 |
Operator |
xlAnd |
第1條件和第2個(gè)條件的關(guān)系,。Criteria1 并且 Criteria2 |
xlOr |
Criteria1或者Criteria2 |
xlTop10Items |
前10個(gè) |
xlBottom10Items |
后10個(gè) |
xlTop10Percent |
前10% |
xlBottom10Percent |
后10% |
例子
|
'field序號(hào)1(單元格A列)中,,等于"6"的單元格,,過(guò)濾出來(lái)。
Sub AutoFilter()
Worksheets("Sheet1").Cells(1, 1).AutoFilter Field:=1, Criteria1:="6"
End Sub
'field序號(hào)1(單元格A列),,過(guò)濾等于"6"的單元格
Sub AutoFilter()
Worksheets("Sheet1").Range("A1").AutoFilter Field:=1, Criteria1:="6"
End Sub
'field2(單元格B列),,過(guò)濾等于"A"的單元格
Sub AutoFilter()
Worksheets("Sheet1").Cells(1, 1).AutoFilter Field:=2, Criteria1:="A"
End Sub
'field2(單元格B列),過(guò)濾等于"A"的單元格
Sub AutoFilter()
Worksheets("Sheet1").Range("A1").AutoFilter Field:=2, Criteria1:="A"
End Sub
'field3(單元格C列),,過(guò)濾大于40,,而又小于60的單元格
Sub AutoFilter()
Worksheets("Sheet1").Cells(1, 1).AutoFilter Field:=3, Criteria1:="<60", _
Operator:=xlAnd, Criteria2:=">40"
End Sub
'field3(單元格C列),過(guò)濾大于40,,而又小于60的單元格
Sub AutoFilter()
Worksheets("Sheet1").Range("A1").AutoFilter Field:=3, Criteria1:="<60", _
Operator:=xlAnd, Criteria2:=">40"
End Sub
'field3(單元格C列),,過(guò)濾前10個(gè)單元格
Sub AutoFilter()
Worksheets("Sheet1").Range("A1").AutoFilter Field:=3, Operator:=xlTop10Items
End Sub
'field3(單元格C列),過(guò)濾前10個(gè)單元格
Sub AutoFilter()
Worksheets("Sheet1").Range("A1").AutoFilter Field:=3, Operator:=xlTop10Items
End Sub |
收錄后注:
1,、Criteria1:Variant 類(lèi)型,,可選。篩選條件(一個(gè)字符串,;例如,,“101”)。使用“=”可搜索到空字段,,或者使用“<>”可搜索到非空字段,。如果省略該參數(shù),則搜索條件為 All,。
如果是篩選條件是字符型數(shù)值,,可用類(lèi)似Criteria1:="<'60'" 。
2,、Operator的默認(rèn)值是xlAnd,,可省略;
3,、VisibleDropDown :Variant 類(lèi)型,,可選。如果為 True 則顯示篩選字段自動(dòng)篩選的下拉箭頭,。如果為 False 則隱藏篩選字段自動(dòng)篩選的下拉箭頭,。默認(rèn)為 True 。
4,、可用下面的代碼得到篩選后第一個(gè)和最后一個(gè)單元格的地址: str = [B2:B300].SpecialCells(xlCellTypeVisible)(1).Address str = [B65536].End(xlUp).Address
5,、去掉篩選:AutoFilterMode = False
|