Excel VBAを使って行を削除する方法は多くありますが、それぞれの方法には特有の特徴と適用シーンがあります。この記事では、基本的な行の削除方法から応用テクニックまで、より詳細にわかりやすく解説します。これを読めば、VBAで行を削除する際の疑問がすべて解消されるでしょう。
基本的な行の削除方法
単一行を削除する基本形
Rowsメソッドを使う
Rows
メソッドは、指定した行番号の行を削除する最もシンプルな方法です。
Rows(5).Delete
このサンプルコードは、5行目を削除します。非常に短いコードですが、その分、直感的に理解しやすいです。
RangeとEntireRowを組み合わせる
Range
メソッドとEntireRow
プロパティを使うと、特定のセルが所属する行を削除できます。
Range("C7").EntireRow.Delete
このサンプルコードは、”C7″セルが属する7行目を削除します。セルを指定することで、より柔軟な削除が可能です。
複数行を一度に削除する
複数行を連続して削除
Rangeメソッドで範囲を指定
Range
メソッドで行の範囲を指定することで、複数行を一度に削除できます。
Range("6:8").Delete
このサンプルコードは、6行目から8行目までを一度に削除します。
複数行を非連続で削除
Unionメソッドを使用する
Union
メソッドを使用すると、非連続な行も一度に削除できます。
Union(Rows(2), Rows(4), Rows(6)).Delete
このサンプルコードは、2行目、4行目、6行目を一度に削除します。
DeleteとClearの違いについて
Deleteメソッドの特性
Delete
メソッドは、指定した行そのものを削除します。その結果、削除した行より下の行が上に詰められます。
Rows(10).Delete
Clearメソッドの特性
一方で、Clear
メソッドは行そのものは削除せず、その行に含まれるデータや書式をクリアします。
Rows(10).Clear
このサンプルコードは、10行目の内容をクリアしますが、行自体は残ります。
別のシートで行を削除する方法
シートを指定して行を削除
Worksheets
メソッドを使うと、特定のシートに対して行を削除できます。
Worksheets("Sheet2").Rows(3).Delete
このサンプルコードは、”Sheet2″という名前のシートの3行目を削除します。
サンプルコード集
サンプル1:特定の文字列が含まれる行を削除する
処理の流れ
- “A”列から”D”列までの範囲をループで走査します。
- セルに”削除”という文字列が含まれている場合、その行を削除します。
Sub DeleteRowsWithSpecificText()
Dim i As Long
For i = 10 To 1 Step -1
If Cells(i, "A").Value = "削除" Or Cells(i, "B").Value = "削除" Or Cells(i, "C").Value = "削除" Or Cells(i, "D").Value = "削除" Then
Rows(i).Delete
End If
Next i
End Sub
サンプル2:偶数行を削除する
処理の流れ
- 20行目から1行目に向かってループを回します。
- 行番号が偶数であればその行を削除します。
Sub DeleteEvenRows()
Dim i As Long
For i = 20 To 1 Step -1
If i Mod 2 = 0 Then
Rows(i).Delete
End If
Next i
End Sub
サンプル3:最後の行から特定の行までを削除する
処理の流れ
- 最後の行(
lastRow
)を特定します。 - 最後の行から5行目までを削除します。
Sub DeleteFromLastRow()
Dim lastRow As Long
lastRow = Cells(Rows.Count, "A").End(xlUp).Row
For i = lastRow To 5 Step -1
Rows(i).Delete
Next i
End Sub
関連動画
まとめ
Excel VBAで行を削除する方法は多種多様です。この記事で紹介した各方法は、それぞれ特定のシチュエーションで最も効率的です。基本的なRows
メソッドから、複数行を一度に削除するRange
メソッド、さらにはDelete
とClear
の違いまで、詳しく解説しました。この知識を活かして、VBAプログラミングをよりスムーズに、効率よく行いましょう。
Excelのショートカットキーの練習
当サイトはショートカットキーの練習を実際の動きを確認しながら練習できる機能がついています。繰り返し指を動かして練習ができるので、ゲーム感覚で遊んでいくうちに自然とショートカットキーが使えるようになれます。ショートカットキーは暗記するよりも実際に手を動かして練習していったほうが習得が早くなるので、是非当サイトをブックマークに登録し定期的に練習してみてください。下記のSTARTキーを押下すると練習を始められます。
※推奨ブラウザ Google Chrome