見出し画像

行を削除する

 Excel VBAで行を削除するには、主に以下の2つの方法があります。

  1. Deleteメソッドを使用する

VBA
' 現在の行を削除
ActiveSheet.Rows(ActiveCell.Row).Delete

' 3行目から5行目までを削除
Worksheets("Sheet1").Range("A3:A5").EntireRow.Delete
コードは注意してご使用ください。

2. Clearメソッドを使用する

VBA
' 現在の行の値をクリア
ActiveSheet.Rows(ActiveCell.Row).Clear

' 3行目から5行目までの値をクリア
Worksheets("Sheet1").Range("A3:A5").EntireRow.Clear
コードは注意してご使用ください。

削除オプション

 上記のコードに加えて、削除オプションを指定することで、削除する行以下の行の処理を制御できます。

 ShiftUp: 既存の行を上にシフトするかどうか。Trueの場合はシフトし、Falseの場合は空いた行をそのまま残します。(デフォルトはTrue)
VBA
' 現在の行を削除し、既存の行を上にシフト
ActiveSheet.Rows(ActiveCell.Row).Delete ShiftUp:=True

' 3行目から5行目までを削除し、空いた行をそのまま残す
Worksheets("Sheet1").Range("A3:A5").EntireRow.Delete ShiftUp:=False
コードは注意してご使用ください。

補足

 行を削除すると、その行以降の行番号がすべて1つずつ減ります。
複数の行を削除する場合は、範囲を指定して削除する必要があります。
 セルにデータが入力されている行を削除すると、そのデータも一緒に削除されます。

参考資料

【Excel VBA入門】行・列の削除とクリアをする方法 | 侍エンジニアブログ: https://team21.jp/excel/delete-rows-using-vba/
【VBA】行削除・列削除をする方法 - Qiita: https://qiita.com/ishida-r/items/deabc71c107feef96635
Excel VBA_行を追加/削除する際に注意したいこと - Zenn: http://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/vba_row_del.html
上記以外にも、特定の条件に基づいて行を削除したり、削除した行に処理を実行したりするなど、様々な応用が可能です。

この記事が気に入ったらサポートをしてみませんか?