行削除する
VBAで下記記述を行う事で、エクセルの行を削除する事が出来ます。
Public Sub sample()
'----------
'ActiveWorkBook.ActiveSheetの行削除の場合
'----------
'■2行目を削除
Rows(2).Delete
'■2行目~3行目を削除
Rows("2:3").Delete
'----------
'任意のブック、任意のシートの行削除の場合
'----------
'■ThisWorkbook シート「設定シート」の2行目を削除
ThisWorkbook.Worksheets("設定シート").Rows(2).Delete
'■ブック「Book1」のシート「Sheet1」の2行目~3行目を削除
Workbooks("Book1").Worksheet("Sheet1").Rows("2:3").Delete
End Sub
その他
- 行削除が多ければ、画面がちらつきます。
ちらつきが気になる(もしくは速度を求める)場合は、下記処理を追加してください。
ExcelVBAマクロ「マクロ処理を高速化する」をパーツ化する。 - シート名やブック名は省略した方が可読性、メンテナンス性に優れます。
マクロ初級者必読-ワークシート名を変数にSetし、短い名前で利用する - Clearメソッドとの違いがあります。
Clearは行がそのまま残る。(クリアした行が空白行となる)
Deleteは行削除され、削除した行が詰められて表示される。Clear 1 2行目をClear 1 2 → 3 3 4 4 Delete 1 2行目をDelete 1 2 → 3 3 4 4
関連記事
指定行(ヘッダー行)以下を全て削除する【ExcelVBA】
ループ中に条件を満たす行の行削除を行う【ExcelVBA】
ループ中に条件を満たす列の列削除を行う【ExcelVBA】
ユーザーが指定した列の削除を行う【ExcelVBA】



コメント