用vba隐藏或显示工作表是工作表对象的Visible属性控制的。
当Visible属性的值为xlSheetHidden时隐藏工作表(可以用右键取消隐藏来显示),当值为xlSheetVeryHidden时为深度隐藏工作表(无法用右键取消隐藏来显示),当值为xlSheetVisible时为取消隐藏工作表。
当拿到一个excel文件,里面有很多工作表隐藏了,需要取消隐藏时,可以使用如下的vba代码:
Sub 批量取消隐藏工作表()
'QQ:1722187970,微信:xycgenius,公众号:水星excel
Dim oWK As Worksheet
Dim oWB As Workbook
Set oWB = Excel.ActiveWorkbook
For Each oWK In oWB.Worksheets
oWK.Visible = xlSheetVisible
Next
End Sub
当要对一个excel文件内的多个工作表进行批量隐藏时,需要注意的是由于每个工作簿至少需要显示1个工作表,所以没有办法隐藏所有的工作表。
以下是批量隐藏工作表的vba代码:
Sub 批量隐藏工作表()
'QQ:1722187970,微信:xycgenius,公众号:水星excel
Dim oWK As Worksheet
Dim oWB As Workbook
Set oWB = Excel.ActiveWorkbook
For Each oWK In oWB.Worksheets
'至少要显示1个工作表
If oWK.Name = "Sheet1" Then
oWK.Visible = xlSheetVisible
Else
oWK.Visible = xlSheetHidden
End If
Next
End Sub
Sub 批量深度隐藏工作表()
'QQ:1722187970,微信:xycgenius,公众号:水星excel
Dim oWK As Worksheet
Dim oWB As Workbook
Set oWB = Excel.ActiveWorkbook
For Each oWK In oWB.Worksheets
'至少要显示1个工作表
If oWK.Name = "Sheet1" Then
oWK.Visible = xlSheetVisible
Else
oWK.Visible = xlSheetVeryHidden
End If
Next
End Sub


发表评论