コピペで使えるVBA!シートを一括で表示/非表示するコード

VBA

VBAマクロでシートを一括で表示/非表示にするコードを紹介します。

表示/非表示はWorksheetsのVisibleプロパティを変更します。

コードをコピーすればすぐに使えます。

コピペ前提なので短さを優先してコードを書きました。

エクセルは全てのシートを非表示にすることはできないので、1つだけ残ります。

全て表示/非表示

表示

Sheet2,Sheet3が非表示のブックで実行

Sheet1

実行後

Sheet1 Sheet2 Sheet3

Sub 全てのシートを表示()
    For i = 1 To Worksheets.Count
        Worksheets(i).Visible = True
    Next
End Sub

非表示

実行前

Sheet1 Sheet2 Sheet3

実行後

Sheet1

Sub 全てのシートを非表示()
    For i = Worksheets.Count To 2 Step -1
        Worksheets(i).Visible = False
    Next
End Sub

好きなシートを表示/非表示

表示

実行前

Sheet1

シート名入力 部分一致OK!

実行後

Sheet1 Sheet2

Sub シート名を指定して表示()
    検索文字 = "*" & InputBox(prompt:="表示するシート名を入力してください。デフォルトは全て", Default:="*") & "*"
    For i = 1 To Worksheets.Count
        If Worksheets(i).Name Like 検索文字 Then Worksheets(i).Visible = True
    Next
End Sub

非表示

セルB1を選択してマクロを実行

Sheet1 Sheet2 Sheet3

シート名を入力 部分一致OK!

実行後

Sheet1 Sheet3

Sub シート名を指定して非表示()
    検索文字 = "*" & InputBox(prompt:="非表示にするシート名を入力してください。デフォルトは全て", Default:="*") & "*"
    On Error Resume Next
    For i = Worksheets.Count To 1 Step -1
        If Worksheets(i).Name Like 検索文字 Then Worksheets(i).Visible = False
    Next
End Sub

コメント

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