Frage

In Excel 2007, ich habe einen einzelnen Datensatz in Form einer Excel-Tabelle, von dem ich mag mehr Pivot-Tabellen und Pivot-Diagramme machen. Ich möchte in der Lage sein, den Bericht der Filter "Feld über alle der Pivot-Tabellen und Diagramme gleichzeitig zu synchronisieren, so dass durch Filtrieren, (zum Beispiel) das US_Region Feld" Pacific Northwest auf einem der Pivot-Tabellen gelten würde, dass filtern, um alle der Pivot-Tabellen und Diagramme in der Arbeitsmappe (die einen einzelnen Datensatz zu teilen). Gibt es eine Möglichkeit, dies ohne VBA zu tun, und wenn es nicht ist, was die flexibelste / am wenigsten klugy wie es in VBA zu tun wäre?

Danke

War es hilfreich?

Lösung

Erstellen Sie eine Prozedur alle Felder, um die Seite zu wechseln. Dieser eine Schleife durch alle Arbeitsblätter in der Arbeitsmappe, und wenn das Arbeitsblatt eine Pivot-Tabelle hat, es ändert sich die Seitenfeld auf der Pivot-Tabelle die Seite Feld an die Unter weitergegeben entsprechen.

Sub ChangePage(pt As PivotTable)

    Dim strPageValue As String
    Dim wks As Worksheet
    Dim ptUpdate As PivotTable

    Application.ScreenUpdating = False
    Application.EnableEvents = False

    strPageValue = pt.PivotFields("Area").CurrentPage

    For Each wks In ThisWorkbook.Worksheets

        On Error Resume Next
        Set ptUpdate = wks.PivotTables(1)

        If Err.Number = 0 Then
            On Error GoTo 0
            wks.PivotTables(1).PivotFields("Area").ClearAllFilters
            wks.PivotTables(1).PivotFields("Area").CurrentPage = strPageValue
        End If
        Err.Clear

    Next wks

    Application.ScreenUpdating = True
    Application.EnableEvents = True

End Sub

dann einen Anruf zu dieser Prozedur in dem Arbeitsblatt-Code selbst und die Pivot-Tabelle übergeben Sie geändert:

Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)

    Call ChangePage(Target)

End Sub

Ändern Sie den Namen des Pivot-Feld von „Area“ auf die Seite Feld, das Sie benötigen, beispielsweise „US_Region“.

Dies ist möglicherweise nicht geeignet sein, wenn die Menschen häufig die Struktur Ihrer Pivot-Tabellen auf andere Weise zu ändern sind, da es jedesmal, wenn die Pivot-Tabelle geändert wird ausgelöst wird, auch wenn es aktualisiert wird. Es wird auch ein Fehler, wenn Benutzer die angegebene Seite Feld entfernen.

Wenn die Pivot-Tabellen obwohl statisch sind, könnte dies tun.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top