2017-04-04 74 views
0

我试图编写一个宏来格式化包含数据透视表的大量表单。我被困在这个问题上。Excel VBA - 隐藏可变大小数据透视表后的行数范围

我的工作表包含许多堆叠的数据透视表。我需要VBA代码片段来隐藏第一个表格之后的1000行(或者如果可能,除了最上面的表格之外的所有表格)。上表的大小从一天到下一天不等,所以不可能隐藏一个设定的范围。

感谢

回答

0

要隐藏所有枢轴表,除了一个,您可以尝试这样的事情... 在下面的代码,改变你不想隐藏透视表的名称。

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