一键批量隐藏 / 显示 Excel 工作表,这 2 段 VBA 代码太实用了!
在日常使用 Excel 处理数据时,我们经常会遇到多工作表管理的场景:为了界面整洁、保护数据隐私,需要隐藏除核心表外的所有工作表;需要编辑时,又要一键恢复显示。
手动一个个隐藏 / 显示太繁琐,今天给大家分享两段极简 VBA 代码,一键搞定所有工作表的隐藏与显示,新手也能直接用!
一、适用场景
-
工作簿中有 N 个工作表,仅保留「列表」表显示,其余全部隐藏; -
需要快速解锁所有隐藏工作表,无需手动取消隐藏; -
保护报表结构,避免他人误操作无关工作表。
二、完整 VBA 代码(直接复制即用)
1. 一键隐藏所有工作表(保留指定表)
这段代码会自动保留名为「列表」的工作表显示,其余所有工作表一键隐藏,完美保护核心数据:
Sub 隐藏所有工作表()' 定义变量Dim SH As Worksheet' 遍历所有工作表For Each SH In Sheets' 判断:如果工作表名称不是「列表」,则隐藏If SH.Name <>"列表" Then SH.Visible =FalseEnd IfNext SH' 弹出完成提示 MsgBox "工作表隐藏完成!"End Sub
2. 一键显示所有工作表
一键解锁所有隐藏 / 可见的工作表,恢复工作簿完整视图:
Sub 显示所有工作表()' 定义变量Dim SH As Worksheet' 遍历所有工作表并设置为可见For Each SH In Sheets SH.Visible =TrueNext SH' 弹出完成提示 MsgBox "工作表全部显示!"End Sub
三、代码使用教程(3 步搞定)
第 1 步:打开 VBA 编辑器
按下快捷键 Alt + F11,直接调出 Excel VBA 编辑界面。
第 2 步:插入代码模块
-
在左侧「工程窗口」右键点击你的工作簿名称; -
选择插入 → 模块; -
将上面复制的两段代码,粘贴到弹出的代码窗口中。
第 3 步:运行代码
-
隐藏工作表:将光标放在「隐藏所有工作表」代码中,按 F5运行; -
显示工作表:将光标放在「显示所有工作表」代码中,按 F5运行; -
运行后会弹出提示框,代表操作完成。
四、灵活修改技巧(按需适配)
如果你的核心表不叫「列表」,只需要修改代码中的表名即可:
‘ 示例:保留「总报表」工作表显示If SH.Name <>"总报表"Then
直接替换双引号内的名称,和你的 Excel 表名完全一致即可。
五、注意事项
-
运行前建议保存文件,避免误操作丢失数据; -
隐藏后的工作表无法手动编辑,必须用「显示代码」解锁。
六、总结
这两段 VBA 代码是 Excel 多表管理的效率神器,不用记复杂操作,复制粘贴就能用,彻底告别手动隐藏 / 显示工作表的繁琐!
需要批量处理工作表的朋友,赶紧收藏试试吧~
夜雨聆风