Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1760to1764
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

Speichern von Pivotdaten

Speichern von Pivotdaten
25.05.2020 16:15:46
Pivotdaten
Hallo liebe Forumgemeinde,


ich knobel leider schon den ganzen Tag an dem folgenden Problem und habe auch leider keinen Fund meiner Internetrecherche an mein Problem adaptieren können. Fakt ist, ich bin nicht wirklich bewandert in VBA.
Ich hoffe daher, der ein oder andere von Euch findet Zeit und Spaß daran dieses Problem zu lösen:


Hintergrund
Ich habe eine Tabelle mit einigen tausend Datensätzen.
Dazu gibt es bestimmte Kennzahlen, die ich ermitteln muss. Gleichzeitig sollte ein Enduser aber auch zu jeder Kennzahl eine Tabelle bekommen, welche die Daten hinter der Kennzahl zusammenfast.
Dazu habe ich pro Kennzahl eine Pivottabelle erstellt. Hier kann man ja einfach auf die Pivot-Tabelle doppelklicken und erhält dann eine Tabelle mit den entsprechenden Datensätzen.
Die Pivotabellen habe vorsichtshalber meine Versuchsgruppen (z.B. ALPHA und BETA) in Arbeitsblätter aufgeteilt, sodass es weniger wahrscheinlich ist, dass man durcheinander kommt.
Nun ist das bei den vielen Pivottabelle/Kennzahl für die verschiedenen Gruppen leider immmrnoch recht mühevoll die Daten-Tabellen, die ein Doppelklick auf eine Pivottabelle/Kennzahl auswirft, manuell zu exportieren und abzuspeichern.


Daher folgende einfache Frage:
Kann mir jemand sagen, wie ich in einem VBA Macro Excel 2013 für eine bestimmte namentliche Pivottabelle (z.B. "PivotBETA007" ) in einem bestimmten Tabellenblatt (z.B. "Beta") dazu bewegen kann, die dahinter liegenden Datensätze in ein neues Blatt zu befördern?
Dann könnte ich die vielen Positionen hard coden ohne eine bestimmte Ergebnis-Zelle eine Pivotabelle angeben zu müssen (denn die könnte durchaus einmal woanders stehen).


Folgende Luxus-Problem-Frage:
Ist es möglich, automatisiert durch alle Tabellenblätter zu gehen und innerhalb eines jeden Tabellenblattes durch jede dort stehende Pivottabelle zu gehen und die hinter der Ergebniszelle steckenden Datensätze einer jeden Pivottabelle auszugeben und in jeweils einer Datei pro Pivortabelle abzuspeichern?
Am besten mit der Kennzahlnummer aus Zeile 1 und der Kennzallbeschreibung aus Zeile 2?


Beispiel:
Ausgangslage https://www.herber.de/bbs/user/137717.xlsx
Output "BETA 007 rows of strong Beta.xlsx" https://www.herber.de/bbs/user/137719.xlsx


Vielen lieben dank für Eure Zeit.
Ian W.

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Speichern von Pivotdaten
26.05.2020 08:02:56
Pivotdaten
Hi, ich glaub ich hab es mehr oder weniger selber gelöst, ist zwar noch ein wenig zu fuss im code rumhacken wenn es Änderungen gibt, läuft aber erstmal:

' Funktion wird die Spalte übergeben in der eine Pivot-Tabellen-Ergebnis zu finden ist,
' ihr kann auch die zugehörige Zeile gegeben werden, wird diese nicht übergeben geht sie von  _
Zeile 11 aus
Sub Export(ByVal pivotErgebniszellen_Spalte As String, Optional ByVal pivotErgebniszellen_Zeile  _
As String = 11)
' Pfad von aktueller Exceldatei nehmen
Dim strPfad, zeile1PivotName, zeile2PivotBeschr As String
strPfad = ThisWorkbook.Path
' Auslesen was in der Namenszelle zur Pivottabelle steht
zeile1PivotName = ActiveSheet.Range(pivotErgebniszellen_Spalte & "1").Value
' Auslesen was in der Beschreibungszelle zur Pivottabelle steht
zeile2PivotBeschr = ActiveSheet.Range(pivotErgebniszellen_Spalte & "2").Value
' Daten hinter Ergebniszelle von Pivottabelle aufrufen
Range(pivotErgebniszellen_Spalte & pivotErgebniszellen_Zeile).Select
Selection.ShowDetail = True
' ausgegebenes Tabellenblatt umbenennen in übergebenen Positionsnamen
ActiveSheet.Name = zeile1PivotName
' dann in seperate Arbeitsmappe verschieben
ActiveSheet.Move
' und im aktuellen Pfad speichern
ActiveWorkbook.SaveAs Filename:=strPfad & "\" & zeile1PivotName & " - " & zeile2PivotBeschr  _
& ".xlsx", FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
' so neu erzeugte Arbeitsmappe wieder schließen
ActiveWindow.Close
End Sub
Sub exportieren()
'Arbeitsblatt mit den enthaltenen Pivot-Tabellen auswählen
Sheets("Alpha").Select
'Funktion aufrufen, die aus der übergebenen Spalte und ggf. Zelle die Tabelle der  _
betreffenden Pivot-Ergebniszelle exportiert
Call Export("A", "11")
Call Export("D")
Call Export("G")
'nächstes Arbeitsblatt
Sheets("Beta").Select
Call Export("A", "11")
Call Export("D")
Call Export("G")
Sheets("DatenBlatt").Select
End Sub

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige