2016-09-21 83 views
0

基本上我已經創建了在工作中使用Adobe的報表生成工具報告儀表板,然後我用下面的VBA宏來更新我的報告生成查詢,並刷新我的數據透視表:問題具有過濾和VBA

Private Sub CommandButton21_Click() 

Dim addIn As COMAddIn 
Dim automationObject As Object 
Dim success As String 
Set addIn = Application.COMAddIns("ReportBuilderAddIn.Connect") 
Set automationObject = addIn.Object 
success = automationObject.RefreshAllRequests(ActiveWorkbook) 

Dim PT As PivotTable 
Dim WS As Worksheet 

    For Each WS In ThisWorkbook.Worksheets 

     For Each PT In WS.PivotTables 
      PT.RefreshTable 
     Next PT 

Next WS 

End Sub 

該宏似乎運作良好,但我最初有一個與我的數據透視表沒有正確更新的問題。然後我發現這是因爲我將(空白)行過濾掉了,這意味着當數據透視表刷新一天新值的數據時會自動過濾。有沒有什麼辦法可以讓我所有的數據透視表更新而不用在他們的(空白)字段?

回答

0

請嘗試添加這,讓我知道,如果這個工程

With ActiveSheet.PivotTables("PivotTable1").PivotFields("Day") 
.PivotItems("(blank)").Visible = False 
End With 
+0

我試着運行它,但我得到一個「對象不支持此屬性或方法」。我已經用「日期」(字段名稱)和「行標籤」(它在數據透視表上的顯示方式)替換了「提到字段名稱」,但它似乎也沒有提到。 – rubs90

+0

我已經更新了我上面的答案。請檢查一下。 – sn152