現在のExcelマクロは、VBA(Visual Basic for Applications)というプログラミング言語を使って作成します。
ですが、昔はそうでありませんでした。
昔は、ワークシートのようなマクロシート上に、命令を記述することで、マクロを作っていました。
その仕組みは現在でも残っていて、うっかりマクロシートの挿入操作を行ってしまうことがあります。
ショートカットキーCtrl+F11でマクロシートが挿入される
[Ctrl]+[F11]というショートカットキーで、マクロシートが挿入できてしまうのです。
ワークシートを挿入するショートカットキー[Shift]+[F11]を押すつもりが、間違って[Ctrl]+[F11]を押してしまった、VBE(Visual Basic Editor)を起動するショートカットキー[Alt]+[F11]を押すつもりが、間違って[Ctrl]+[F11]を押してしまった、という経験のある方は少なくないはずです。
そのような、間違って挿入したマクロシートを一気に削除する、Excelマクロをご紹介しておきます。
マクロシートを削除するサンプルマクロ
以下のSubプロシージャを実行すると、アクティブブックのマクロシートが削除されます。
Application.DisplayAlerts = False
If Excel4MacroSheets.Count >= 1 Then
Excel4MacroSheets.Delete
End If
Application.DisplayAlerts = True
End Sub
サンプルマクロの解説
ApplicationオブジェクトのExcel4MacroSheetsプロパティを利用すると、
マクロシートを表すSheetsコレクションオブジェクトを取得できます。
オブジェクトブラウザーを確認するとわかるとおり、ApplicationオブジェクトのExcel4MacroSheetsプロパティはグローバルメンバーですから、
上位のオブジェクト式を省略して記述しています。
アクティブブックにマクロシートが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 » マクロシートを一括削除するマクロ