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枚を削除しようとするとエラーになります。
- アクティブシートが意図したものか、事前に確認してから実行しましょう。
DisplayAlerts
をFalse
にした後は、必ず True で元に戻しましょう。
元に戻さないと、他の場面でも確認メッセージが表示されなくなってしまいます。
3. まとめ
アクティブシートを削除するコードはシンプルですが、誤って必要なシートを削除しないよう十分注意しましょう。
また、DisplayAlerts
の設定は削除後に必ず元に戻すことを忘れないようにしましょう。
コメント