【VBAスタンダードに挑戦!】
本日の5分勉強の内容
********************************************************
オートフィルタ
・テーブルにオートフィルタを付けることができる
・Range("B1").ListObject.Range.AutoFilter 1, "10"
or
Range("B1").ListObject.DataBodyRange.AutoFilter 1, "10"
テーブルの1列目の「10」をフィルタリング
・見出しを含む/含まない どちらの記述でオートフィルタを付けても
結果は同じになる
オートフィルタの結果をコピー
テーブルの1列目の「10」をフィルタリングして、
Sheet2 の Range("A1") にコピーする
見出しを含む
Range("B1").ListObject.Range.AutoFilter 1, "10"
Range("B1").ListObject.Range. Copy Sheets("Sheet2"). Range("A1")
見出しを含まない
Range("B1").ListObject.DataBodyRange.AutoFilter 1, "10"
Range("B1").ListObject.DataBodyRange. Copy Sheets("Sheet2"). Range("A1")
with を使って可読性を高める
With Range("B1").ListObject.Range
. AutoFilter 1, "10"
. Copy Sheets("Sheet2"). Range("A1")
End With
*******************************************
やっと操作編に入りました。
Range や Cells を使ったコピーの記述方法と同じです。
シート上であってもテーブルは特殊なので、
範囲の指定方法が変わってくる ということなのですね。
なんか少しですが、テーブルを使うメリットが見えてきた気がします。
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/