我有一个包含多张工作表的 Excel 2007 文件,我需要隐藏或显示所有工作表(除一张之外)。
隐藏所有工作表很容易,但如何将所有 200 张工作表一起显示呢?
我知道我可以编写一个宏来显示表格,但要这样操作,我必须提取所有表格名称才能继续。
答案1
不确定为什么必须提取所有工作表名称。
隐藏工作表
据我所知,有两种方法可以做到这一点。
选择要隐藏的所有工作表,然后右键单击并选择“隐藏”。
或者,在“主页”选项卡, 在里面细胞组,点击格式,以及能见度, 点击隐藏和取消隐藏,然后点击隐藏工作表。
另一种方法是使用简单的宏循环工作表,隐藏除当前选定的工作表之外的所有工作表:
Sub hideSheets()
Dim wS As Worksheet, Current As String
Current = ActiveSheet.Name
For Each wS In Worksheets
If Not wS.Name = Current Then
wS.Visible = False
End If
Next
End Sub
显示床单
要再次显示所有工作表,代码就更简单了。
Sub showSheets()
Dim wS As Worksheet
For Each wS In Worksheets
wS.Visible = True
Next
End Sub
额外的
如果您想要定位特定的工作表(不是当前活动的工作表)(隐藏所有但,或显示所有但),只需更改为,Current = ActiveSheet.Name
然后Current = InputBox("Enter Sheet Name")
在输入框中命名工作表。