「エクセル 隠しシート 削除する 方法」
という検索が行われていました。
2003までのExcelの場合はメニュー[書式]-[シート]-[表示しない]から、シートを非表示にすることができます。
Excel 2007・2010の場合はシート見出し上で右クリックして表示されるショートカットメニュー[非表示]を利用するのが便利でしょう。
その非表示となっているシートを削除する方法を探している方による検索です。
いくつかの解決方法が考えられますが、まずはVBA(Visual Basic for Applications)で作成したマクロをご紹介します。
If MsgBox("非表示のワークシートをすべて削除していいですか?", _
vbYesNo + vbDefaultButton2) = vbNo Then Exit Sub
Application.DisplayAlerts = False
Dim sh As Worksheet
For Each sh In Worksheets
If sh.Visible = xlSheetHidden Then sh.Delete
Next
End Sub
実際に削除しているのはループ処理
For Each sh In Worksheets
If sh.Visible = xlSheetHidden Then sh.Delete
Next
の部分です。
Visibleプロパティを調べてxlSheetHidden(非表示)だったら、Deleteメソッドを実行しています。
削除処理のときに確認メッセージが表示されないように、ループ処理に入る前に
Application.DisplayAlerts = False
とApplicationオブジェクトのDisplayAlertsプロパティをFalseに設定しています。
非表示のワークシートをすべて削除してしまうので、処理に入る前に
If MsgBox("非表示のシートをすべて削除していいですか?", vbYesNo + vbDefaultButton2) = vbNo Then Exit Sub
と、確認メッセージを表示して「いいえ」ならマクロを抜けるようにしています。
最終更新日時:2019-10-31 11:12
- Newer:Word 2010のテキストボックスと本文文字列の距離
- Older:かな入力で全角カッコを入力する-F9キー
Home » エクセルマクロ・Excel VBAの使い方 » Sheets・Worksheet » 非表示の全ワークシートを削除するマクロ