【问题标题】:Excel VBA - Hide range of rows after variable sized pivot tableExcel VBA - 在可变大小的数据透视表后隐藏行范围
【发布时间】:2017-04-04 21:59:52
【问题描述】:

我试图编写一个宏来格式化许多包含数据透视表的工作表。我被困在这个问题上。

我的工作表包含许多堆叠的数据透视表。我需要 VBA 代码 sn-p 来隐藏,比如说,在第一个表之后 1000 行(或者如果可能的话,除了最上面的表之外的所有表)。顶部表格的大小会随着一天的变化而变化,因此不可能只隐藏一个设定的范围。

谢谢

【问题讨论】:

    标签: excel vba


    【解决方案1】:

    要隐藏除一个之外的所有数据透视表,您可以尝试这样的操作... 在下面的代码中,更改您不想隐藏的数据透视表的名称。

    Sub HideAllPivotTablesButOne()
    Dim ws As Worksheet
    Dim pt As PivotTable
    Application.ScreenUpdating = False
    Set ws = ActiveSheet
    lr = ws.UsedRange.Rows.Count
    For Each pt In ws.PivotTables
        If pt.Name <> "PivotTable1" Then     'Name of the Pivot Table which you don't want to hide
            pt.TableRange2.EntireRow.Hidden = True
        End If
    Next pt
    Application.ScreenUpdating = True
    End Sub
    

    如果你想再次显示所有的数据透视表,你可以试试下面的代码...

    Sub ShowAllPivotTables()
    Dim ws As Worksheet
    Dim pt As PivotTable
    Application.ScreenUpdating = False
    Set ws = ActiveSheet
    lr = ws.UsedRange.Rows.Count
    For Each pt In ws.PivotTables
        pt.TableRange2.EntireRow.Hidden = False
    Next pt
    Application.ScreenUpdating = True
    
    End Sub
    

    【讨论】:

      猜你喜欢
      • 2018-02-16
      • 2020-06-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多