VBATips

指定行(ヘッダー行)以下を全て削除する【ExcelVBA】

指定行(ヘッダー行)以下を全て削除したい

エクセル上でマクロのログを残す場合など、指定行以下を全て削除したい要望があります。
指定行ヘッダー行でその部分まで消されるととても面倒です。

指定行以下を削除するマクロは、コード一行で表せます。どしどしコピペで使いましょう。

指定行(ヘッダー行)以下を全て削除するサンプルコード

'■指定行以下を全て行削除するサンプルコード
Public Sub sample_delete_rows()

    '■2行目から1048576行目(Cells.Rows.Count)まで行削除する/Excel2007以降
    Rows("2:" & Cells.Rows.Count).Delete

    '■2行目から1048576行目(Cells.Rows.Count)まで値のみ削除する/Excel2007以降
    Rows("2:" & Cells.Rows.Count).ClearContents
End Sub

注意点

  • Rows(2:)の2の部分を変更する事で、任意の行以下を削除する事が可能です。
  • 今回はRowsの前にシート名を付与していない為、ActiveSheetの2行目以下をまとめて削除します。
    下記記事参考に、本来はシート名を付与しましょう。
    マクロ初級者必読-ワークシート名を変数にSetし、短い名前で利用する
  • 本マクロは一例です。RangeをEntireRow.Deleteで行削除するなど別方法もあります。
  • Cells.Rows.Countは最終行を取得する時に使う処理です。

関連記事

コメント

タイトルとURLをコピーしました