Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1300to1304
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

Pivottabellen Filter anpassen

Pivottabellen Filter anpassen
20.02.2013 15:19:18
Bernhard
Hallo zusammen,
ich habe in einem Excel-Sheet mehrere Tabellenblätter mit jeweils einer Pivottabelle.
Diese Pivottabellen greifen immer auf die gleiche Datenbasis zurück, sind jedoch unterschiedlich gefiltert (z.B. in einem Blatt nach Einkommen, im nächsen nach Namen usw.).
Jetzt möchte ich Filtereinstellungen für einen bestimmten Berichtsfilter (z.B. PLZ) bei allen Pivottabellen in gleicher Art und Weise anpassen.
Also zum Bsp. statt PLZ 11111,11114,11117 nur noch 11111.
Bisher habe ich immer die Filter manuell angepasst, frage mich aber ob dies auch automatisch geht?
Vielen Dank schon mal für die Hilfe!
Bernhard

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Pivottabellen Filter anpassen
20.02.2013 22:28:40
Jack
Ja geht mit einem Makro.
Was anderes fällt mir nicht ein, außer halt mit Hilfsspalten die gängigsten Postleitzahlen markieren und die dann als Filter
Grüße

AW: Pivottabellen Filter anpassen
21.02.2013 14:08:55
Bernhard
Vielen Dank für die Antwort! Ist das Makro denn kompliziert?
Grüße

AW: Pivottabellen Filter anpassen
22.02.2013 14:22:23
JACKD
Jaein..
Ich würde vorschlagen, du startest mal den Makrorekorder und erstellst eine Pivot nach deinen Vorstellungen. Und exemplarisch wählst du dann den Filter aus.
Dann schaust du dir das Makro an, und suchst dir die Stelle mit dem Filter...
Sub Pivot()
' Pivot
Dim LZeile As Long, LSpalte As Long, Alter As Integer
Dim x As String
Dim wks As Worksheet
'"globale" Variable
LZeile = Worksheets("Master").Cells(Rows.count, 1).End(xlUp).Row
LSpalte = Worksheets("Master").Cells(1, Columns.count).End(xlToLeft).Column
'Pivot1
'Variablen Festlegen
x = "Pivot1"
' Abfrage ob Blatt existiert
For Each wks In Worksheets
If wks.name = x Then
Application.DisplayAlerts = False
Worksheets(x).Delete
Application.DisplayAlerts = True
End If
Next wks
'Blatt erstellen
Sheets.Add after:=Worksheets("Pivot0")
ActiveSheet.name = x
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"Master!R1C1:R" & LZeile & "C" & LSpalte & "", Version:=xlPivotTableVersion14). _
CreatePivotTable _
TableDestination:="" & x & "!R3C1", TableName:=x, _
DefaultVersion:=xlPivotTableVersion14
'Zeilenbeschriftung
With Worksheets(x).PivotTables(x).PivotFields("Nummer")
.Orientation = xlRowField
.Position = 1
End With
'Spalte Fälle
Worksheets(x).PivotTables(x).AddDataField _
Worksheets(x).PivotTables(x).PivotFields("Rechnungen"), "Anzahl", xlCount
'Spalte D
Worksheets(x).PivotTables(x).AddDataField _
Worksheets(x).PivotTables(x).PivotFields("Dauer"), "D", xlSum
With Worksheets(x).PivotTables(x).PivotFields("MvD")
.Caption = "D" & vbCrLf & "[d]"
.Function = xlAverage
.NumberFormat = "0.00"
End With
' Spalte Belegtage
Worksheets(x).PivotTables(x).AddDataField _
Worksheets(x).PivotTables(x).PivotFields("Tage"), "BT", xlSum
With Worksheets(x).PivotTables(x).PivotFields("BT")
.Caption = "BT" & vbCrLf & "[d]"
.Function = xlSum
.NumberFormat = "0"
End With
'Filter 1 (KA)
With Worksheets(x).PivotTables(x).PivotFields("Rechnung")
.Orientation = xlPageField
.Position = 1
.PivotItems("KA").Visible = False
End With
'Filter Alter(
so oder so ähnlich kann es dann aussehen wenn man das bissl bearbeitet hat.
Im zweifel einfach mit dem Code nochmal nachfragen =)
Grüße
Anzeige

310 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige