Obnovenie všetkých otočných tabuliek v mojom zošite programu Excel pomocou makra

Mám zošit s 20 rôznymi otočnými tabuľkami. Existuje nejaký jednoduchý spôsob, ako nájsť všetky pivotné tabuľky a obnoviť ich vo VBA?

Riešenie

Áno.

ThisWorkbook.RefreshAll

Alebo, ak je vaša verzia programu Excel dostatočne stará,

Dim Sheet as WorkSheet, Pivot as PivotTable
For Each Sheet in ThisWorkbook.WorkSheets
    For Each Pivot in Sheet.PivotTables
        Pivot.RefreshTable
        Pivot.Update
    Next
Next
Komentáre (7)

Tento kód VBA obnoví všetky otočné tabuľky/grafy v zošite.

Sub RefreshAllPivotTables()

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

Ďalšou neprogramovou možnosťou je:

  • Kliknite pravým tlačidlom myši na každú otočnú tabuľku
  • Vyberte položku Možnosti tabuľky
  • Začiarknite možnosť 'Obnoviť pri otvorení'.
  • Kliknite na tlačidlo OK

Tým sa pivotná tabuľka obnoví pri každom otvorení zošita.

Komentáre (0)

Máte kolekciu PivotTables na objekte VB Worksheet. Takže bude fungovať takáto rýchla slučka:

Sub RefreshPivotTables()
    Dim pivotTable As PivotTable
    For Each pivotTable In ActiveSheet.PivotTables
        pivotTable.RefreshTable
    Next
End Sub

Poznámky zo zákopov:

  1. Pred aktualizáciou PivotTable nezabudnite zrušiť ochranu všetkých chránených hárkov.
  2. Často ukladajte.
  3. Vymyslím viac a včas aktualizujem... :)

Veľa šťastia!

Komentáre (0)