Stránka 1 z 1

Filtr vazba mezi KontTAb a oblastí dat  Vyřešeno

Napsal: 26 bře 2012 13:33
od VALL
Ahoj,
Hledám řešení k následujícímu:
Mám kontingenční tabulku, která je navazbena na oblast dat. Když v KontTab vyberu požadovanou hodnotu (projekt), tak aby byla ta samá hodnota automaticky vložena do filtru datové oblasti a tyto data zafiltrovány, viz příloha.

Re: Filtr vazba mezi KontTAb a oblastí dat

Napsal: 26 bře 2012 21:14
od cmuch
Ahoj,
vyřešeno pomocí makra zpouštěného změnou výběru v kontingenční tabulce.

Re: Filtr vazba mezi KontTAb a oblastí dat

Napsal: 27 bře 2012 07:46
od VALL
díky, funguje skvěle.

--- Doplnění předchozího příspěvku (27 Bře 2012 08:00) ---

Ještě bych požádal o jedno vylepšení. V listě KonTab (dle přílohy), je jiná kontigenční tabulka. Když v listě Data vyberu ve filtru sestavy hodnotu (projekt), tak v listě KonTab v dané kontigenční tabulce, se zafiltruje stejná hodnota.

Re: Filtr vazba mezi KontTAb a oblastí dat

Napsal: 27 bře 2012 09:15
od cmuch
Upraveno i pro Excel 2007 (původně jen 2010)
Místo stávajícího makra vlož toto

Kód: Vybrat vše

Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)
Dim nazevprojektu As Variant
'ulozeni nazvu projektu
nazevprojektu = ActiveSheet.PivotTables("Kontingenční tabulka 2"). _
        PivotFields("Project2").CurrentPage

If nazevprojektu = "(All)" Then 'pri vybrani "Vse"
     'nastaveni filtru pro zobrazeni vseho
     ActiveSheet.Range("$A$13:$N$" & Cells(Rows.Count, "N").End(xlUp).Row).AutoFilter Field:=1
     'nastaveni dat i pro kont.tab na jinem liste
     Sheets("KonTab").PivotTables("Kontingenční tabulka 1"). _
        PivotFields("Project2").CurrentPage = "(All)"
     Exit Sub
End If

'nastaveni filtru
ActiveSheet.Range("$A$13:$N$" & Cells(Rows.Count, "N").End(xlUp).Row).AutoFilter _
    Field:=1, Criteria1:=nazevprojektu
'nastaveni dat i pro kont.tab na jinem liste
Sheets("KonTab").PivotTables("Kontingenční tabulka 1"). _
        PivotFields("Project2").CurrentPage = nazevprojektu
End Sub