Home » エクセルマクロ・Excel VBAの使い方 » Sheets・Worksheet » マクロシートを一括削除するマクロ

マクロシートを一括削除するマクロ

対象:Excel2007, Excel2010, Excel2013, Windows版Excel2016

マクロシートを一括削除するExcelマクロ

現在のExcelマクロは、VBA(Visual Basic for Applications)というプログラミング言語を使って作成します。

ですが、昔はそうでありませんでした。
昔は、ワークシートのようなマクロシート上に、命令を記述することで、マクロを作っていました。

その仕組みは現在でも残っていて、うっかりマクロシートの挿入操作を行ってしまうことがあります。

ショートカットキーCtrl+F11でマクロシートが挿入される

[Ctrl]+[F11]というショートカットキーで、マクロシートが挿入できてしまうのです。

[スポンサードリンク]

ワークシートを挿入するショートカットキー[Shift]+[F11]を押すつもりが、間違って[Ctrl]+[F11]を押してしまった、VBE(Visual Basic Editor)を起動するショートカットキー[Alt]+[F11]を押すつもりが、間違って[Ctrl]+[F11]を押してしまった、という経験のある方は少なくないはずです。

そのような、間違って挿入したマクロシートを一気に削除する、Excelマクロをご紹介しておきます。

マクロシートを削除するサンプルマクロ

以下のSubプロシージャを実行すると、アクティブブックのマクロシートが削除されます。

Sub マクロシートを削除する()
 Application.DisplayAlerts = False
 If Excel4MacroSheets.Count >= 1 Then
  Excel4MacroSheets.Delete
 End If
 Application.DisplayAlerts = True
End Sub

サンプルマクロの解説

ApplicationオブジェクトのExcel4MacroSheetsプロパティを利用すると、

マクロシートを一括削除するExcelマクロ

マクロシートを表すSheetsコレクションオブジェクトを取得できます。

オブジェクトブラウザーを確認するとわかるとおり、ApplicationオブジェクトのExcel4MacroSheetsプロパティはグローバルメンバーですから、

マクロシートを一括削除するExcelマクロ

上位のオブジェクト式を省略して記述しています。

アクティブブックにマクロシートが1枚以上存在しているときに、
  If Excel4MacroSheets.Count >= 1 Then

SheetsコレクションオブジェクトのDeleteメソッドで、マクロシートをすべて削除しています。
  Excel4MacroSheets.Delete

削除時の確認メッセージを非表示にするために、削除処理の前に、メッセージを非表示にしています。
  Application.DisplayAlerts = False

イミディエイトウィンドウからマクロシートを一括削除する

マクロシートを一括削除しているのは、
  Excel4MacroSheets.Delete
というステートメントですから、イミディエイトウィンドウからマクロシートを削除するのも簡単です。

イミディエイトウィンドウに「excel4macrosheets.delete」と入力して[Enter]キーを押せばOKです。

「excel4macrosheets.delete」と入力して[Enter]キーを押して、
「このシートは完全に削除されます。続けますか?」
というメッセージが表示されたら[削除]ボタンを押せば、マクロシートが一括削除されます。

最終更新日時:2020-12-29 05:52

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » Sheets・Worksheet » マクロシートを一括削除するマクロ

「Sheets・Worksheet」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.