【VBA】アクティブシートを削除する方法

Excel VBAでは、アクティブになっているシート(現在表示されているシート)を削除することができます。この記事では、その具体的な手順と注意点について解説します。

1. 基本コード例

アクティブシートを削除するには、以下のように記述します。

Sub DeleteActiveSheet()
Application.DisplayAlerts = False '削除確認メッセージを表示しない
ActiveSheet.Delete
Application.DisplayAlerts = True '元に戻す
End Sub

■ ポイント解説

処理内容説明
ActiveSheet.Delete現在アクティブなシートを削除
Application.DisplayAlerts = False削除時の確認メッセージを表示しない設定
Application.DisplayAlerts = True処理後、確認メッセージ表示を元に戻す


Application.DisplayAlerts = False を入れないと、「このシートを削除しますか?」というメッセージが表示され、手動でクリックしないと削除されません。


2. 注意点

  • 削除したシートは元に戻せません。
  • ブック内に最低1枚はシートが必要なので、最後の1枚を削除しようとするとエラーになります。
  • アクティブシートが意図したものか、事前に確認してから実行しましょう。
  • DisplayAlertsFalse にした後は、必ず True で元に戻しましょう。
    元に戻さないと、他の場面でも確認メッセージが表示されなくなってしまいます。

3. まとめ

アクティブシートを削除するコードはシンプルですが、誤って必要なシートを削除しないよう十分注意しましょう。
また、DisplayAlerts の設定は削除後に必ず元に戻すことを忘れないようにしましょう。

コメント

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