目次
行を削除したい
今回の投稿では、 ExcelVBA でワークシートの指定の行を削除するマクロを作成してみました。マクロの中で、 Rows().Delete の記述を使用しています。

マウス・キーボード操作で行の削除を行う場合は、以下の画像のように、行番号を選択して、右クリックから削除を行いますね。今回作成するマクロで、同じ操作を行ってみます。

Rows().Delete
早速、行を削除するマクロを書いてみました。現在のワークシートの 2 行目を削除するマクロです。「ActiveSheet」が、現在のワークシート、「Rows(2)」が 2 行目という意味になっています。現在のワークシートの 2 行目が操作対象になります。「Delete」メソッドで削除を実行しています。
Sub 行を削除するマクロ()
ActiveSheet.Rows(2).Delete
End Sub
下記の画像の状態で、上記のマクロを実行してみます。 B が入力されている 2 行目が削除されるはずですね。

マクロを実行してみると、下記の画像の結果になりました。 2 行目が削除されていますね。削除の確認メッセージなどは表示されず削除されました。

複数行を削除したい
複数行を削除したい場合もありますね。以下のマクロのコードを作成してみました。 Rows("2:4") で、 2 ~ 4 行目を指定しています。
Sub 複数行を削除するマクロ()
ActiveSheet.Rows("2:4").Delete
End Sub
以下の画像のワークシート上で、マクロを実行してみます。 1 ~ 5 行目に A ~ E の値が入力されています。

マクロを実行してみると、以下のような結果になりました。 2 ~ 4 行目の B ~ D の値が入力されていた行が削除されています。

テスト環境
- Windows 10
- Microsoft Office Excel 2003
あとがき
私の場合、シート指定を行わず、 Rows().Delete してしまい、思わぬシートのデータが削除されたこともあったように思います。マクロで行った操作は、アンドゥ Undo ができないですからね。
Sub 指定のワークシートの行を削除するマクロ()
Worksheets("削除対象のシート").Rows(2).Delete
End Sub

以上閲覧ありがとうございました。