役立つ便利なサイト
役に立つフリーソフト
コラム集:Excel VBA Tips |
←前コラム 目次 次コラム→ |
|
オートフィルタの設定 |
分類:VB/VBA 著者:徳永秀雄 更新日付:2008/12/14 |
[概要] AutoFilterメソッドで、指定したセル範囲にオートフィルタを設定できます。 操作対象オブジェクトに、リスト化するセル範囲をRsngeオブジェクトで指定します。 この範囲には、表題となる見出しを含みます。 そして、AutoFilterメソッドを実行すれば、セルに矢印ボタンが付いたリストが作成されます。 設定したオートフィルタは、矢印ボタンを押すことで、リスト表示する項目を自由に選べるようになります。 [書式] Object.AutoFilter(Field, Criteria1, Operator, Criteria2) ▲引数の説明 Field :フィルタの対象となるフィールド番号。 オートフィルタを設定したセル範囲の列番号のことで、一番左端が「1」になる Criteria1 :抽出条件となる文字列を設定する。 「"="」で空白セルの抽出、「"<>"」で空白以外のセルを抽出する。 省略すると抽出条件はALLとなりすべての値を表示することになる。 引数「Operator」に「xlTop10Items」を指定した場合は、ここには表示する項目数(たとえば "10")を指定する Operator :あらかじめ設定されている抽出条件を定数でセットする。 使用できる定数は以下のように: xlAnd xlBottom10Items xlBottom10Percent xlOr xlTop10Items xlTop10Percent Criteria2 :2番目の抽出条件を設定する。 この場合、引数「Operator」に「xlAnd」と「xlOr」を使うことで、「Criteria1」と「 Criteria2」を組み合わせて複合抽出条件を指定できる 属性 メソッド 所属オブジェクト Worksheet 操作対象オブジェクト Range [例] Private Sub オートフィルタ_Test() MsgBox "セルの値を設定する" Worksheets("Sheet1").Range("B1") = "番号" Worksheets("Sheet1").Range("B2") = "1" Worksheets("Sheet1").Range("B3") = "2" Worksheets("Sheet1").Range("B4") = "3" Worksheets("Sheet1").Range("B5") = "4" Worksheets("Sheet1").Range("B6") = "5" Worksheets("Sheet1").Range("B7") = "6" Worksheets("Sheet1").Range("C1") = "名前" Worksheets("Sheet1").Range("C2") = "太郎1" Worksheets("Sheet1").Range("C3") = "花子2" Worksheets("Sheet1").Range("C4") = "太郎3" Worksheets("Sheet1").Range("C5") = "花子4" Worksheets("Sheet1").Range("C6") = "太郎5" Worksheets("Sheet1").Range("C7") = "花子6" MsgBox "オートフィルタ設定する" Worksheets("Sheet1").Range("B1:C7").AutoFilter MsgBox "オートフィルタ解除する" Worksheets("Sheet1").Range("B1:C7").AutoFilter MsgBox "太郎で始まる名前だけを表示する" Worksheets("Sheet1").Range("B1:C7").AutoFilter field:=2, Criteria1:="太郎*" MsgBox "花子で始まる名前だけを表示する" Worksheets("Sheet1").Range("B1:C7").AutoFilter field:=2, Criteria1:="花子*" MsgBox "すべての値を表示させる" Worksheets("Sheet1").ShowAllData MsgBox "オートフィルタ解除する" Worksheets("Sheet1").Range("B1:C7").AutoFilter End Sub |
|
←前コラム 目次 次コラム→ |