VBAでワークシートに行もしくは列を挿入、削除する方法です。
行・列を操作する
Excelシートの行を挿入・削除するにはRowsプロパティを、列を挿入・削除するにはColumnsプロパティを利用します。
《行・列を削除する》
行の削除:Rows (行番号).Delete
列の削除:Columns( 列番号 ).Delete
また、行・列を挿入する場合は次のようにします。
《行・列を削除する》
行の削除:Rows ( 行番号 ).Insert
列の削除:Columns( 列番号 ).Insert
A1形式で指定する場合は、行(列)を表す文字列をダブルクオーテーションマーク(”)で囲んで指定します。
範囲で指定する場合は、R1C1形式とA1形式で指定の方法が異なります。
A1形式では、開始と終了の行(列)番号をコロン(:)で繋ぎ、ダブルクオーテーションマーク(”)で囲みます。
A1形式:“開始の行(列):終了の行(列)”
一方R1C1形式 の場合、行(Rowsプロパティ)の挿入・削除の場合は、A1形式と同様に指定可能ですが、列(Columnsプロパティ)の場合は、Rangeオブジェクトを用いて指定します。
R1C1形式(行の範囲を指定):”開始の行(列):終了の行(列)”
R1C1形式(列の範囲を指定):Range(Columns(開始の列),Columns(終了の列))
行・列の挿入と削除(サンプルコード)
アクティブなシートに行・列を挿入・削除する
Sub 行と列の削除()
Rows(1).Insert '1行目に挿入
Columns(1).Insert '1列目に挿入
Rows("2:5").Delete '2~5行目を削除
Range(Columns(2),Columns(5)).Delete '2~5列目を削除
End Sub
ワークシート名を指定して(シート名:Sheet1)行と列を削除するサンプルです。
Sub 行と列の削除()
With Worksheets("Sheet1")
.Rows(9).Delete '9行目を削除
.Columns(8).Delete '8列目を削除
End With
End Sub
ワークシート名や行・列番号を変数にして指定すれば、対象を自由に変更できます。
コメント