VBA:Excel循环 - 隐藏/取消隐藏工作表

标签 vba excel

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/

相关文章:

excel - 拆分功能 - 按字符串划分单元格

vba - 需要对列Excel vba中的重复文本值进行排名

vba - 尝试使用 OLEDBConnection 运行时错误 '1004' : Application-defined or object-defined error 运行查询

sql-server - SSIS Excel 文件问题 - 创建文件失败

excel - VB6不终止Excel进程

ruby roo 从解析中删除列

excel - 执行脚本时隐藏powershell窗口

javascript - 从 VBA 转换为 JS - 输出错误

excel - 返回 i 给定项目的所有第 j 个元素的函数

arrays - 如何使用 VBA 循环遍历多个数组?