Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
1588to1592
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
Pivottabelle filtern / Berichtsfilter
14.11.2017 08:29:38
Christian
Guten Morgen!
Ich habe eine Pivottabelle, welche mir je nach ausgewähltem Jahr die jeweils betreuten Kunden anzeigt. Die angezeigten Kundennummern sind bis zu 4stellig anschließend mit "/" getrennt und enthalten dann 4stellig das Jahr im welchen der "Erstkontakt" hergestellt wurde, also zb. 100/2015, 100/2016, 1022/2016, 2034/2017, etc.
Wie kann ich meine Pivottabelle so filtern, dass bspw. alle Kunden (egal im welchen Jahr) deren Nummer größer ist als bspw. 800 ausgeblendet werden.
.PivotFilters.Add Type:=xlCaptionIsGreaterThan, Value1:="8?/*"
Werden mir ja nur die KundenNr. 800 bis 899 gelöscht, 900/Jahr und größer bleiben stehen.
Müsste ich da eher xlCaptionIsBetween nehmen mit Value1 und Value2? Komm leider nicht dahinter
Mit der Berichtsfiltermethoder werden die jeweiligen Zeilen ja nur ausgeblendet, im Bereich wo ich ja die Werte/Items selektieren kann, ist das Häkchen allerdings noch da.
Könnt ihr mir eventuell weiterhelfen?
Was noch erschwerend hinzukommt, ich habe, wie soll ichs beschreiben, also Kundennummern die bei der Pivotauswertung folgende Nr. haben "0/0" oder "/0", diese sollen auch nicht angezeigt werden
dies habe ich bislang wie folgt deselektiert
With ActiveSheet.PivotTables("PivotTable1").PivotFields("KundenNr.")
.PivotItems("0/0").Visible = False
On Error Resume Next
End With
With ActiveSheet.PivotTables("PivotTable1").PivotFields("KundenNr.")
.PivotItems("/0").Visible = False
On Error Resume Next
End With
aber dann noch in Kombination mit KundenNr. ausblenden größer 800/xxxx?
Bitte Bitte, habt ihr eine Lösung für mich.
Besten Dank!
Christian

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

Betreff
Datum
Anwender
Anzeige
AW: Pivottabelle filtern / Berichtsfilter
14.11.2017 12:19:31
fcs
Hallo Christian,
wenn du die Möglichkeit hast in der Datenquelle für die Pivot-Auswertung Spalten zu ergänzen, dann ergänze dort 2 Spalten in denen per Formel die Kunden-Nr. am "/" geteilt wird.

Kunden_nr	A	B	Knd-Nr	Knd-Jahr
100/2010	1	2	100	2010
0/0     	3	2	0	0
/0      	4	1	0	0
1000/2009	5	2	1000	2009
700/2012	3	1	700	2012
Formel D2 (Knd-Nr):
=WENN(ODER(A2="/0";A2="0/0");0;WERT(LINKS(A2;SUCHEN("/";A2)-1)))
Formel E2 (Knd-Jahr):
=WENN(ODER(A2="/0";A2="0/0");0;WERT(TEIL(A2;SUCHEN("/";A2)+1;20)))

Dann kann man im Pivotbericht für die Knd-Nr. entsprechende Filter setzen.
Falls weitere Spalten nicht möglich dann probiere mal das nachfolgende Makro.
Hier kannst du die obere und untere Grenze eingeben.
Für unterschiedliche Nummernbereiche kannst du ja auch Makrovarianten mit anderen Prüfungen erstellen.
Gruß
Franz
Sub Filtern_KundenNr_von_bis()
Dim pvTab As PivotTable
Dim pvField As PivotField
Dim pvItem As PivotItem
Dim varKdNr
Dim OG As Variant, UG As Variant
On Error GoTo Next_Item
UG = Application.InputBox("untere Grenze für Kunden-Nr:", "Kunden-Nummer filtern", 1, Type:= _
1)
If UG = False Then Exit Sub
OG = Application.InputBox("obere Grenze für Kunden-Nr:", "Kunden-Nummer filtern", 9999,  _
Type:=1)
If OG = False Then Exit Sub
Set pvTab = ActiveSheet.PivotTables(1) '1 ggf. durch andere Index-nr. oder _
Namen in Anführungszeichen ersetzen
Set pvField = pvTab.PivotFields("Kunden_nr")
pvField.ClearAllFilters
For Each pvItem In pvField.PivotItems
If pvItem.Name = "/0" Then
pvItem.Visible = False
ElseIf pvItem.Name = "0/0" Then
pvItem.Visible = False
ElseIf InStr(1, pvItem.Name, "/") = 0 Then
pvItem.Visible = False
Else
varKdNr = Val(Left(pvItem.Name, InStr(1, pvItem.Name, "/") - 1))
If varKdNr  OG Then
pvItem.Visible = False
End If
End If
Next_Item:
Next
End Sub

Anzeige
AW: Pivottabelle filtern / Berichtsfilter
16.11.2017 11:55:27
Christian
WAHNSINN! DANKE VIELMALS! War jetzt auf VBA eingeschossen und hab nicht mehr daran gedacht dass ich ja mit VBA aus KundenNr und Jahr einen Einheit gemacht habe, und ich ja sowieso auf die Ursprungsspalten zurückgreifen könnte. tztzt
DANKE Franz!
Frage beantwortet
16.11.2017 12:55:07
fcs
...

313 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige