Sub Hideall_butlast_10()
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
ws.Visible = xlSheetVisible
Next ws
i = Worksheets.Count
For x = 10 To i
Sheets(x).Select
ActiveSheet.Visible = xlSheetHidden
Next x
End Sub
大家好
我正在尝试编辑上面的代码以取消隐藏所有工作表,然后隐藏所有工作表,除了前 5 个和最后 10 个(前 10 个会更改)-但前 5 个始终显示
我的工作簿有 50-300 页(每天更改)
希望有人能指出我正确的方向
谢谢
最佳答案
Sub Hideall_butlast_10()
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
ws.Visible = xlSheetVisible
Next ws
Const lowerBound As Integer = 5
Const upperBound As Integer = 10
Dim i, x
i = Worksheets.Count
If (i > lowerBound + upperBound) Then
For x = lowerBound + 1 To (i - upperBound)
Sheets(x).Visible = xlSheetHidden
Next x
End If
End Sub
关于VBA:Excel循环 - 隐藏/取消隐藏工作表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19989253/