【VBA】行・列の挿入、削除

Excel・VBA

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

ワークシート名や行・列番号を変数にして指定すれば、対象を自由に変更できます。

コメント

タイトルとURLをコピーしました