Ich hoffe es kann mir jemand von Euch bei meinem Vorhaben weiterhelfen?
vor rund zwei Wochen hatte ich schon mal einen entsprechenden Post hier im Forum platziert, wurde dann aber gebeten, noch eine entsprechende Beispielsdatei einzustellen.
Da ich aber dann krank war und noch ein paar Ferientage genoss, "rutschte" leider mein damaliger Post aus der Übersicht. Daher nochmals diesmal mit entsprechender Beispiels-Datei
https://www.herber.de/bbs/user/128375.xlsx
Und zwar gehts diesmal um folgendes Problem
Ich habe eine grosse Excel-Datenbank (zu Gross um diese vollumfänglich hier einstellen zu können / vertrauliche Daten) in welcher ich u.a. aus einem Tabellenblatt dann eine Pivot-Tabelle erzeuge. Eine abgespeckte Beispiels-Datei hab ich aber im Anhang hier hochgeladen
D.h. es werden diverse Daten aus einer grossen Excel-Datenbank zu einer Pivottabelle zusammengestellt.
Die Pivot wird mir wie folgt erzeugt: (Code stammt übrigens aus einer früheren Hilfe-Anfrage hier im Forum)
Sub Pivot_Table()
'Pivot erzeugen
Cells.Select
Sheets.Add
NameSheet = ActiveSheet.Name
pivotZiel = NameSheet & "!R3C1"
'MsgBox pivotZiel
Columns("A:F").Select
Sheets.Add
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"Tabelle1!R1C1:R1048576C6", Version:=xlPivotTableVersion14).CreatePivotTable _
TableDestination:=pivotZiel, TableName:="PivotTable1", _
DefaultVersion:=xlPivotTableVersion14
Sheets(NameSheet).Select
Cells(3, 1).Select
Range("B10").Select
With ActiveSheet.PivotTables("PivotTable1")
.InGridDropZones = True
.RowAxisLayout xlTabularRow
End With
With ActiveSheet.PivotTables("PivotTable1").PivotFields("Bestellvorgang")
.Orientation = xlRowField
.Position = 1
End With
With ActiveSheet.PivotTables("PivotTable1").PivotFields("Besteller")
.Orientation = xlRowField
.Position = 2
End With
ActiveSheet.PivotTables("PivotTable1").AddDataField ActiveSheet.PivotTables( _
"PivotTable1").PivotFields("Artikel"), "Anzahl von Artikel", xlCount
Range("B12").Select
ActiveSheet.PivotTables("PivotTable1").PivotFields("Bestellvorgang").ShowDetail = _
False
End Sub
Funktioniert soweit perfekt !Nun soll dieser Code aber erweitert/angepasst werden.
Und zwar wie folgt:
Wenn man auf eine Pivot-Ergebniszeile doppelklickt, so wird deren Inhalt ja bekanntlich auf einem neuem Tabellenblatt komplett (alle Datensätze der entsprechenden PivoZeile) dargestellt.
Soweit so gut! Die Pivot-Ergebniszeile fasst also eigentlich die Anzahl einer bestimmten Datenmenge zusammen. (die Daten können ja per Doppelklick auf die Pivot Ergebniszeile im Detail- auf einem neuen
Tabellenblatt geöffnet und eingesehen werden)
Meine Pivot-Ergebniszeilen sollen nun so angepasst werden, dass das Makro im Hintergrund zuerst noch folgende Prüfungen macht:
Prüfung 1:
Gibt es mehr als total 30 Datensätze: Pivot-Ergebniszeile wird angezeigt auf der Pivottabelle
Prüfung 2:
Gibt es weniger als total 30 Datensätze: Pivot-Ergebniszeile, resp. die Daten dahinter sollen weiter automatisch durchsucht werden.
und zwar soll in dieser Ergebnis-Zeile die Daten welche dahinter stehen auf das Vorkommen der beiden Werte 0001 und 0002 durchsucht werden.
Wenn mindesten einer dieser beiden Werte gefunden wird, so soll die Ergebniszeile in der Pivottabelle dargestellt werden.
Falls aber keiner dieser beiden Werte in den Daten ist, so soll diese Ergebniszeile nicht auf der Pivotabelle dargestellt werden.
Ich hoffe, meine Frage ist so einigermassen verständlich ?
Siehe auch Anhang
Wäre wirklich nett, wenn mir hier jemand weiterhelfen könnte.