2015-01-15 45 views
1

這裏是我的代碼:doenst刷新支點出現錯誤

Sub Atualiza_pivots() 

ActiveWorkbook.RefreshAll 

End Sub 

我做一些簡單的代碼,刷新所有樞軸在工作簿,但如果一些支點doenst刷新,它不顯得我,所以,我不知道何時發生錯誤。我嘗試製作另一個代碼,但它不會顯示。

Sub Atualiza_pivots() 

On Error GoTo Err 

ActiveWorkbook.RefreshAll 

Exit Sub 

Err: MsgBox "Há pivots com erro, verifique." 

End Sub 

謝謝。

回答

0

THX的幫助D_Zab

Sub Atualiza_pivots() 

Dim wks As Worksheet 
Dim pvt As PivotTable 

For Each wks In Worksheets 
    For Each pvt In wks.PivotTables 
      On Error GoTo Err 
      pvt.PivotCache.Refresh 
    Next pvt 
Next wks 
Exit Sub 
Err: MsgBox pvt & " com erro." 
End Sub 
2

RefreshAll方法僅適用如果BackgroundQuery設置爲True,通過每個表試試這個循環和手動刷新:

Sub Refresher() 

Dim wks As Worksheet 
Dim pvt As PivotTable 

For Each wks In Worksheets 
    For Each pvt In wks.PivotTables 
     If pvt.PivotCache.BackgroundQuery = False Then 
      pvt.PivotCache.BackgroundQuery = True 
      pvt.RefreshTable 
      pvt.PivotCache.BackgroundQuery = False 
     Else 
      pvt.RefreshTable 
     End If 
    Next pvt 
Next wks 

End Sub 
+0

THX爲幫助,但我做了另一個完美的運行 –