Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1392to1396
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Pivottabelle: Berichtsfilter gleich andere Zelle

Pivottabelle: Berichtsfilter gleich andere Zelle
19.11.2014 17:43:24
Dennis
Hallo zusammen,
ich stehe vor folgendem Problem:
Nachdem ich eine Pivottabelle (Tabellenblatt "pivot") erzeugt habe, möchte ich gerne einen Berichtsfilter setzen. Dieser soll jedoch nicht manuell gesetzt werden sondern sich lediglich auf eine andere Zelle aus dem Datenblatt (Zelle "A1" Tabellenblatt "Daten") beziehen.
Über eure Hilfe würde ich mich sehr freuen!
Besten Dank im Voraus,
Gruß,
Dennis

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Pivottabelle: Berichtsfilter gleich andere Zelle
20.11.2014 16:08:28
fcs
Hallo Dennis,
das funktioniert nur per Makro.
Wenn es automatisch erfolgen soll, dann muss man ein Ereignismakro verwenden (z.B. Zelleingabe, Neuberechnung eines Tabellenblatts, Aktivieren eines Tabellenblatts)
Nachfolgend erfolgt die Aktualissierung, wenn das Blatt mit der Pivottabelle aktiviert/selektiet wird.
Wichtig ist, dass der Wert in der Zelle ein Wert ist, der für das Feld in der Auswahlliste auch vorhanden ist. Sonst gibt es Ärger und ggf. ungewollte Überraschungen; im Extremfall werden die Items in der Auswahlliste des Berichtsfeldes umbenannt.
Gruß
Franz
'Code im VBA-Editor unter einem allgemeinen Modul oder dem Tabellenblatt "Pivot"
Public Sub PivotBerichtsfeldSetzen(varWert, pvField As PivotField)
Dim pvTab As PivotTable
On Error GoTo Fehler
Set pvTab = pvField.Parent
With pvTab
pvField.ClearAllFilters
.RefreshTable
'Pivot-Berichtsfeld anpassen
pvField.CurrentPage = varWert
End With
Fehler:
With Err
Select Case .Number
Case 0 'alles ok
Case 5, 1004
MsgBox "Fehler-Nr.: " & .Number & vbLf & .Description & vbLf & vbLf _
& "Wert für Berichtsfilter: " & varWert & vbLf _
& "unzulässige Eingabe Wert im Berichtsfilter", vbOKOnly, _
"Berichtsfeld - Blatt " & pvTab.Parent.Name & " - " & pvTab.Name
Case Else
MsgBox "Fehler-Nr.: " & .Number & vbLf & .Description, vbOKOnly, _
"Berichtsfeld - Blatt " & pvTab.Parent.Name & " - " & pvTab.Name
End Select
End With
End Sub
'Code für Ereignismakro im VBA-Editor unter dem Tabellenblatt "Pivot"
Private Sub Worksheet_Activate()
Call PivotBerichtsfeldSetzen(varWert:=Worksheets("Daten").Range("A1").Value, _
pvField:=Me.PivotTables(1).PageFields("Feld01"))
End Sub
.
Anzeige

319 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige