📋
HideSheet
シート管理指定したシートを非表示にする
🎬 デモGIF準備中
📖 使い方
- VBAエディタを開く(Alt + F11)
- モジュールを挿入(挿入 > モジュール)
- 下記VBAコードをコピー&ペースト
- ブック上で実行(Alt + F8 でマクロ選択)
💡 実行例: 実行すると非表示にするシート名を入力するダイアログが表示される
💻 VBAコード
' HideSheet
' -----------------
' Macro Name: HideSheet
' Description: 指定したシートを非表示にする
' Parameters: なし
' Returns: なし
' Usage: 実行すると非表示にするシート名を入力するダイアログが表示される
' -----------------
Sub HideSheet()
Dim ws As Worksheet
Dim sheetName As String
Dim visibleCount As Long
Dim i As Long
On Error GoTo ErrorHandler
visibleCount = 0
For i = 1 To Worksheets.Count
If Worksheets(i).Visible = True Then
visibleCount = visibleCount + 1
End If
Next i
If visibleCount <= 1 Then
MsgBox "最後の表示中のシートは非表示にできません。", vbExclamation
Exit Sub
End If
sheetName = InputBox("非表示にするシート名を入力:", "シート非表示", ActiveSheet.Name)
If sheetName = "" Then
Exit Sub
End If
On Error Resume Next
Set ws = Worksheets(sheetName)
On Error GoTo ErrorHandler
If ws Is Nothing Then
MsgBox "「" & sheetName & "」は存在しません。", vbExclamation
Exit Sub
End If
If ws.Visible = xlSheetVisible Then
visibleCount = 0
For i = 1 To Worksheets.Count
If Worksheets(i).Visible = True And i <> ws.Index Then
visibleCount = visibleCount + 1
End If
Next i
If visibleCount = 0 Then
MsgBox "このシートを非表示にすると表示中のシートがなくなります。", vbExclamation
Exit Sub
End If
ws.Visible = xlSheetHidden
MsgBox "「" & sheetName & "」を非表示にしました。", vbInformation
Else
MsgBox "「" & sheetName & "」は既に非表示です。", vbInformation
End If
Exit Sub
ErrorHandler:
MsgBox "エラーが発生しました: " & Err.Description, vbCritical
End Sub