Excel VBA(マクロ)で行・列を削除する方法/Deleteメソッドの使い方

shoe IT

セルを削除するDeleteメソッドは、同様に行や列を削除するのにも使えます。
行・列の場合は間を詰める方向は一定となります。

スポンサーリンク

行の削除

vba rows delete1
まず単一の行を削除する場合ですが、シンプルに2行目であればRows(2).Deleteのように記述すれば、
vba rows delete2
該当の行が削除され、下の行が上に詰められます。
' vba
' 2行目を削除
Range("A2").EntireRow.delete
行の取得には色々書き方があります。セルの所属する行全体を取得するEntireRowプロパティを使う書き方(RangeはA2でもB2でもC2でもOK)や、
' vba
' 2行目を削除
Range(Rows(2), Rows(2)).delete
Rangeの後に行をふたつ,でつなぐことで、2行目から2行目を削除=2行目のみ削除する書き方、
' vba
' 2行目を削除
Range("2:2").delete
あるいはもっと簡潔に、Rangeの後に行番号をふたつ並べる書き方でも同じ意味になります。

複数行の削除

rows delete 複数1
複数行の場合は、""で閉じてRows("2:3").Deleteのように指定すれば、
rows delete 複数2
2~3行目が削除されて、その分上に詰められます。
' vba
' 2~3行目を削除
Range("A2:B3").EntireRow.delete
以下その他の書き方。書き方は単行の延長で、EntireRowなら範囲を広げればいいし、
' vba
' 2~3行目を削除
Range(Rows(2), Rows(3)).delete
Rowsをふたつ書く書き方は頭と終わりにすれば良く、
' vba
' 2~3行目を削除
Range("2:3").delete
くっつける書き方も同様です。

列の削除

vba columns delete1
列を削除したい場合は、2列目ならColumns(2).Deleteのように記述します。
vba columns delete2
列が削除され、左に列が詰められます。
' vba
' 2列目を削除
Columns("B").Delete
他の書き方としては、まずColumnsはアルファベットでも指定できます。
' vba
' 2列目を削除
Range("A2").EntireColumn.delete
Rangeの所属する列全体を取得するEntireColumnプロパティを使っても指定できますし、
' vba
' 2列目を削除
Range(Columns(2), Columns(2)).delete
Rangeの後に列をふたつ,でつなぐことで2列目のみ削除する書き方、
' vba
' 2列目を削除
Range("B:B").delete
アルファベットで列番号をふたつ並べる書き方でも単列を指定できます。B=2列目です。

複数列の削除

rows delete 複数3
複数列削除の場合は、2~3列目を削除ならColumns("B:C").Deleteのように指定します。Columns("2:3").Deleteとは書けません。
rows delete 複数4
実行すると範囲列が削除され、その分左に詰められます。
' vba
' 2~3列目を削除
Range("A2:B3").EntireColumn.delete
RangeにEntireColumnプロパティを付ける書き方などは単列同様。
' vba
' 2~3列目を削除
Range(Columns(2), Columns(3)).delete
Columnをふたつ繋げる書き方は数字で指定可能です。
' vba
' 2~3列目を削除
Range("B:C").delete
Rangeの後にアルファベットをつなげる書き方も単列と同様です。

他のシートの行列を削除

' vba
Worksheets("Sheet1").Rows(1).delete
他のシートの行列を削除する場合は、SheetsまたはWorksheetsを頭に付ければOKです。
' vba
Sheets(1).Columns(1).delete
シートはインデックスでも指定できます。

関連記事

Excel(エクセル):行、列
Excelの行、列関係操作、関数、VBAです。他のまとめとかぶる部分が多い場合はリンク貼ります。 行・列の選択 行・列の選択方法です。 テーブル内の行・列一括選択方法です。 VBA(マクロ)で列・...
Excel(エクセル):削除、クリア
Excel関連削除/クリア系の処理、操作まとめです。操作で言えば、選択した状態でDeleteを押せば大体消せるはずです。また文字入力中は、カーソルの位置からBackSpaceを押せば、左に向かって文字を削除していくことが可能です。 セルで...
関数・演算子・メソッド・プロパティ名から探すExcel/VBA(マクロ)使い方・組み合わせ方まとめ
こちらはExcelやメソッドの諸機能を、機能の名称から探せるまとめ記事です。
やりたいことから方法を探すエクセル(Excel)操作・関数・VBA(マクロ)逆引きまとめ
逆引き(やりたいことから探す)Excel記事まとめ

コメント