対象:Excel97, Excel2000, Excel2002, Excel2003
CurrentRegionプロパティを使って、アクティブセル領域を選択する方法をご紹介しました。
複数のワークシートを1枚のシートにまとめる処理をコーディングする場合、1枚目のシートのデータをコピーする際は「Range("A1").CurrentRegion.Select」で問題ありませんが、2枚目以降のシートでは見出し行が余分ですから、見出し行を除いたリスト範囲を選択する必要が出てきます。
[スポンサードリンク]
選択範囲をずらして選択するOffsetプロパティと、選択範囲のサイズを変更するResizeプロパティを利用すると、見出し行を除いた範囲を選択することができます。
▼A1セルから始まる表の見出し行を除いて選択するコード
Range("A1").CurrentRegion.Select
Selection.Offset(1, 0).Select
Selection.Resize(Selection.Rows.Count - 1).Select
Range("A1").CurrentRegion.Select
Selection.Offset(1, 0).Select
Selection.Resize(Selection.Rows.Count - 1).Select
1行目の、
Range("A1").CurrentRegion.Select
で、A1セルのアクティブセル領域を選択しておいて、
2行目の
Selection.Offset(1, 0).Select
で、選択範囲を1行下にずらして、
3行目の、
Selection.Resize(Selection.Rows.Count - 1).Select
で、選択範囲を1行減らしています。
ワークシートを見ながらステップ実行していただくと、何をしているのかよくわかるはずです。
Resizeプロパティの引数の「Selection.Rows.Count - 1」は、「Selection.Rows.Count」で選択範囲の1行目の見出し行を含む行数を取得して、そこから1行目を除くために「1」を減算することを表しています。
[スポンサードリンク]
Home » Excel VBA Rangeオブジェクト » Offsetプロパティ » 見出し行以外を選択する−Offset・Resizeプロパティ