MS-Office-Forum

Zurück   MS-Office-Forum > Microsoft Office > Microsoft Excel
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads
Themen-Optionen Ansicht
Alt 09.11.2018, 08:11   #1
Becksk1974
Neuer Benutzer
Neuer Benutzer
Standard VBA - Pivot Filter - Dateien erstellen

Hallo, ich habe folgendes Problem. Ich habe eine Pivot Tabelle, mit einem dynamischen Filter, also X-Einträge, dass Datenblatt der Pivot ändert sich entsprechend des gesetzen Filters (Name), soweit alles schön.

Jetzt möchte ich, dass das Makro, automatisch jeden Filtereintrag ca. 30 selbst durchgeht, die Auswertung erstellt und die Auswertung in das Verzeichnis schreibt, wo die Ursprungsdatei liegt.

Das Makro welches ich hier im Netz gefunden habe, schreibt auch schön die Datei in das Verzeichnis, aber nur vom derzeitig gesetzten Filter. Ich möchte nicht erst den Filter anklicken und immer das Makro laufen lassen. Außerdem möchte ich gern, dass der Name der Datei, der gesetzte Filter beinhaltet. Der Filter, als der Name steht in Feld B2.

Anbei das Makro:

Sub ExportPivotTable()
Dim ws As Worksheet, newWB As Workbook, p As PivotTable, strNewName As String
'Tabellenblatt setzen auf dem die Pivottabelle liegt
Set ws = Sheets(1)
'Pivottabelle anhand Ihres Namens refernzieren
Set p = ws.PivotTables("PivotTable1")
'Bereich der Pivottabelle kopieren
p.TableRange1.Copy
'Neue Arbeitsmappe erstellen
Set newWB = Workbooks.Add
'Füge die Pivottabelle als reine Daten mit Formatierung in die neue Mappe ein
With newWB.Sheets(1).Range("A3")
.PasteSpecial Paste:=xlPasteValuesAndNumberFormats
.PasteSpecial Paste:=xlPasteFormats
.PasteSpecial Paste:=xlPasteColumnWidths
End With
'Kopfzeilen übertragen
ws.Range("1:2").Copy newWB.Sheets(1).Range("A1")

'Name der neuen Arbeitsmappe aus Zelle A2 des Worksheets auslesen (letzte 20 Zeichen der _
Zelle)
strNewName = Right(ws.Range("A2").Value, 20)
'Name des Sheets setzen
newWB.Sheets(1).Name = strNewName
'Neue Arbeitsmappe im selben Verzeichnis wie diese speichern
newWB.SaveAs ThisWorkbook.Path & "" & strNewName & ".xlsx"
'neue Mappe schließen
newWB.Close True
End Sub

Ich wäre Euch sehr Dankbar, wenn Ihr mir schnell helfen könntet!
Becksk1974 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 09.11.2018, 08:18   #2
Fennek11
MOF Profi
MOF Profi
Standard

Hallo,

auch als bekennender VBA-Fan rate ich zuerst zu prüfen, ob mit Hilfe der Pivot-Optionen jeder Filter-Wert dynamisch in ein eigenes Blatt geschrieben werden kann. Falls ja, per VBA jedes dieser Sheets einzeln abzuspeichern schafft ein sehr kurzer, übersichtlicher Code.

mfg
Fennek11 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 09.11.2018, 08:30   #3
Becksk1974
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Danke, aber ich kenn mich halt mit VBA so gar nicht aus, und würde gern eine Lösung finden
Becksk1974 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 09.11.2018, 08:31   #4
steve1da
MOF Meister
MOF Meister
Standard

Hola,

zur Info:

http://www.herber.de/forum/messages/1656325.html

Gruß,
steve1da
steve1da ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 09.11.2018, 08:40   #5
Fennek11
MOF Profi
MOF Profi
Standard

https://www.excel-bytes.com/show-rep...bles-in-excel/

und viele andere mit Suchworten: Excel Pivot filter sheet
Fennek11 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 09.11.2018, 09:15   #6
Becksk1974
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Schon mal super, jetzt mit der option hat er für jedes Pivot eine eigene Lasche erstellt, nun musse ich nur noch den Export pro Lasche haben .. kennt jemand Rat?
Becksk1974 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 09.11.2018, 09:38   #7
Fennek11
MOF Profi
MOF Profi
Standard

um ein Sheet einzeln zu speichern, geht:

Code:

'in eine neue Datei kopieren
'alle sheets, bis auf das erste
for i = sheets.count to 2 step -1
      sheets(i).copy
      with activeworkbook
'der Rekorder zeigt den Code zu speicherm
      .close
      end with
      'sheets(i).delete
next i
end sub
Fennek11 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:09 Uhr.


Partner und Co.
Access-Paradies -Alles rund um die Datenbank Microsoft Access -Code -Programme-Tools -Tipps   Kostenlose Tipps & Tricks, Downloads und Programme   www.kulpa-online.com - Tipps - Tricks - Tutorials - Meinungen - Downloads uvm...   vb@rchiv · Willkommen in der Welt der VB Programmierung   Access-Garhammer - Hier finden Sie jede Menge Beispiel-Datenbanken zu Access und mehr ...   mcseboard.de   Die Top Seite für Excel-VBA-Makros uvm.

Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

Copyright ©2000-2018 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günter Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.