2017-04-04 115 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