Stránka 1 z 1

KontTab aktualizace

Napsal: 01 čer 2012 13:33
od VALL
Ahoj, mám kontingenční tabulku, kterou potřebuji aktualizovat v okamžiku změny provedené v buňce v dané oblasti (průniku).
Pokusil jsem se napsat nějaké varianty maker. Při vyvolání změny v listě, dochází k zacyklení.
První varianta:

Kód: Vybrat vše

Private Sub Worksheet_Change(ByVal Target As Range)

Dim OblastSledovat As Range     'Aktivní buňka
Dim TabSlpJ As Range               'Sloupec v tabulce, v kterém se můžou měnit hodnoty

   Set OblastSledovat = ActiveCell    'Aktivní buňka
   Set TabSlpJ = Sheets("DetailProjektu").Range("SledovatJ")

' aktualizace KontTab
'-------------------------
  If Not Intersect(OblastSledovat, TabSlpJ) Is Nothing Then Sheets("DetailProjektu").PivotTables("ptDetailProjektu").PivotCache.Refresh


Druhá varianta (vzor z ozgrid.com)

Kód: Vybrat vše

'Private Sub Worksheet_Activate()
'  Call AktualizaceKonTab
'End Sub

Makro AktualizaceKonTab v modulu:

Kód: Vybrat vše

Sub AktualizaceKonTab()
Dim pt As PivotTable
    Set pt = ActiveSheet.PivotTables("ptDetailProjektu")
    pt.RefreshTable

End Sub

Re: KontTab aktualizace  Vyřešeno

Napsal: 01 čer 2012 16:59
od pavel.lasak
Pokud Worksheet_Change provádí změnu v buňce je potřeba provést

Kód: Vybrat vše

Application.EnableEvents = False

jinak skončí v cyklu
na konci změn opět zapnout

Kód: Vybrat vše

Application.EnableEvents = True