EntireRowプロパティ、EntireColumnプロパティ
指定セル範囲の行や列を参照したり選択する場合にはEntireRowプロパティ、EntireColumnプロパティを利用します。
Excelで行を削除する機能はよく利用される機能だと思います。削除したい行を1行または複数行選択して、行番号部分を右クリックして行削除、で削除されます。列も同様です。
このように、行や列の削除だったり、選択だったりといった処理をするためには事前に行全体、または、列全体を参照しておく必要があります。
構文
1 2 |
Rangeオブジェクト.EntireRow Rangeオブジェクト.EntireColumn |
RangeオブジェクトにはActiveCell、Range(“A1”)形式、Cells(1, 1)形式など、いずれも指定可能です。
サンプルコード
行や列の全体を参照した場合に一番多い利用方法は、行や列の削除や挿入と思います。
ここでは行や列の削除と挿入のサンプルを紹介します。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
Sub EntireRowColumnTest() '// 1行目から3行目までを削除 Range("1:3").EntireRow.Delete '// 4行目の上に行を挿入(元の4行目は下に移動して5行目になります) Range("A4").EntireRow.Insert '// B列からE列までを削除 Range("B:E").EntireColumn.Delete '// A列に列挿入 Cells(1, 1).EntireColumn.Insert End Sub |
注意点
EntireRowプロパティ、EntireColumnプロパティでのInsertの場合はどこに挿入されるかを把握しておく必要があります。
行の場合は、指定したセルの行から下にある行は、全て1つ下の行に押し出されます。Range(“B2”)の場合は元の行は3行目に移動します。
列の場合は、指定したセルの列から右にある列は、全て1つ右の列に押し出されます。Range(“B2”)の場合は元の列はC列に移動します。
Deleteの場合は逆になります。行の場合は指定セルの下にある行は上に移動し、列の場合は指定セルの右にある列は左に移動します。
いずれの場合も、元あったデータがどこに移動するのか確認してコードを書いてください。私は何度も「あ、、消しちゃった。。」という目に遭いました。