参考元:【VBA】エクセルのシートを非表示にする【Visibleを使います】
https://daitaideit.com/vba-sheet-hidden/
VBAでシートを非表示/表示する
シートを非表示
'シートを非表示
Sub TEST1()
'シート名「A」を非表示にする
Worksheets("A").Visible = False
End Sub
シートを表示
'シートを表示
Sub TEST2()
'シート名「A」を表示する
Worksheets("A").Visible = True
End Sub
VBAですべてのシートを表示
「For Each」を使う
'すべてのシートを表示
Sub TEST3()
Dim WS
'すべてのシートをループする
For Each WS In Worksheets
'シートを表示する
WS.Visible = True
Next
End Sub
VBAで指定シートのみを表示
シート名が「A」のシートだけを残して、それ以外を非表示にするVBAコードです。
'シート名「A」のみを表示
Sub TEST4()
Dim WS
'すべてのシートをループ
For Each WS In Worksheets
'シート名が「A」以外のとき
If WS.Name <> "A" Then
WS.Visible = False 'シートを非表示にする
End If
Next
End Sub
VBAで複数シートを非表示/表示する
複数シートを非表示
'シート「B」と「C」を表示
Sub TEST5()
Dim WS
'シート「B」と「C」をループ
For Each WS In Worksheets(Array("B", "C"))
WS.Visible = False 'シートを非表示
Next
End Sub
VBAで指定した複数シートのみを表示
手順としては、次のようになります。
指定シートの1つのみを表示
指定した複数シートを表示
「B」と「D」のシートのみを表示してみます。
'シート名「B」と「D」のみを表示
Sub TEST7()
Dim A
'表示するシート名の配列を作成
A = Array("B", "D")
Dim WS
'シート名「B」のみを表示する
For Each WS In Worksheets
'シート名が「B」以外のとき
If WS.Name <> A(0) Then
WS.Visible = False 'シートを非表示にする
End If
Next
'シート名「B」と「D」を表示する
For Each WS In Worksheets(A)
WS.Visible = True 'シートを表示
Next
End Sub
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!