オートフィルタ(AutoFilter)でのデータ抽出:Excel VBA入門 |
スポンサードリンク | |
メンバ | 値 | |
xlAnd (既定値) | And条件 | 1 |
xlOr | Or条件 | 2 |
xlTop10Items | トップテン | 3 |
xlBottom10Items | 4 | |
xlTop10Percent | 5 | |
xlBottom10Percent | 6 |
出席番号 | 氏名 | 国語 | 算数 | 理科 | 社会 | 合計 | 順位 | 評価 |
1001 | 佐藤 | 20 | 51 | 48 | 46 | 165 | 9 | 不可 |
1002 | 鈴木 | 56 | 64 | 67 | 59 | 246 | 5 | 良 |
1003 | 高橋 | 89 | 92 | 97 | 81 | 359 | 1 | 優 |
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 | 優 |
1008 | 中村 | 84 | 89 | 76 | 84 | 333 | 3 | 良 |
1009 | 小林 | 61 | 59 | 65 | 54 | 239 | 6 | 可 |
1010 | 加藤 | 34 | 47 | 38 | 49 | 168 | 8 | 可 |
Sub Macro1() With Worksheets("Sheet1") .Range("A1").AutoFilter _ Field:=7, Criteria1:=">=300" End With End Sub |
Sub Macro2() With Worksheets("Sheet1") .Range("A1").AutoFilter _ Field:=7, _ Criteria1:=">=200", Operator:=xlAnd, _ Criteria2:="<300" End With End Sub |
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 |
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 |
Sub Macro3_2() Dim myRL As Long Dim myRH As Long Worksheets("Sheet2").Range("A:I").Delete ’抽出先Sheet2のA:I列を削除 myRL = Application.InputBox(prompt:="以上の数値を入力しなさい", Type:=1) '下限値の入力 myRH = Application.InputBox(prompt:="未満の数値を入力しなさい", Type:=1) '上限値の入力 With Worksheets("Sheet1") .Range("A1").AutoFilter _ Field:=7, _ Criteria1:=">=" & myRL, Operator:=xlAnd, _ Criteria2:="<" & myRH .Range("A1").CurrentRegion.SpecialCells(xlCellTypeVisible).Copy _ Worksheets("Sheet2").Range("A1") End With With Worksheets("Sheet2") .Activate .Columns("A:I").EntireColumn.AutoFit End With Worksheets("Sheet1").Range("A1").AutoFilter '---Sheet1のオートフィルターを解除する End Sub |
Sub Macro4() With Worksheets("Sheet1") If .AutoFilterMode Then .AutoFilterMode = False End If .Range("A1").AutoFilter _ Field:=7, _ Criteria1:=">=200", Operator:=xlAnd, _ Criteria2:="<300" .Range("A1").CurrentRegion.SpecialCells(xlCellTypeVisible).Copy _ Worksheets("Sheet2").Range("A1") .AutoFilterMode = False End With End Sub |
Sub Macro5() Application.ScreenUpdating = False With Worksheets("Sheet1") If .AutoFilterMode Then .AutoFilterMode = False End If .Range("A1").AutoFilter _ Field:=7, _ Criteria1:=">=200", Operator:=xlAnd, _ Criteria2:="<300" .Range("A1").CurrentRegion.SpecialCells(xlCellTypeVisible).Copy _ Worksheets("Sheet2").Range("A1") .AutoFilterMode = False End With Application.ScreenUpdating = True End Sub |
Sub Macro6() With Worksheets("Sheet1") .Range("A1:G20").AutoFilter _ Field:=1, Criteria1:=Format(DateValue("2010/5/1"), .Range("A2").NumberFormatLocal) End With End Sub |
スポンサードリンク
PageViewCounter
Since2006/2/27