行削除する
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】
コメント