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

VBA und Pivot

VBA und Pivot
12.11.2015 10:30:32
violetta
Hallo Zusammen,
ich beginne gerade damit, mich in die VBA Programmierung für Excel einzudenken.
Ich habe Arbeitsmappe in Excel, in der sich eine Rechnungsvorlage befindet, die auf eine Pivottabelle zugreift. Die Pivottabelle ist in der gleichen Arbeitsmappe.
Auf die Rechnungsseite, passen immer nur eine bestimmte Anzahl von Datensätzen.
Wenn die Seite voll ist, kopiere ich per Makro das Tabellenblatt und benenne es um.
Mein Ziel ist es,dass auf der Kopie, des Tabellenblatts in der Rechnung mit dem Folgedatensatz in der Pivottabelle begonnen wird. Kann mir da jemand weiterhelfen. Ich habe das Makro aufgezeichnet und es funktioniert, wenn es nur eine zweite Seite gibt. Bei einer Dritten ändert es sich nicht mit. Kann mir jemand eine Anregung geben, was ich ausprobieren kann?
Danke schon mal für die Hilfe.

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA und Pivot
12.11.2015 10:58:12
EtoPHG
Hallo,
Zitat: Kann mir jemand eine Anregung geben, was ich ausprobieren kann?
Vielleicht, wenn man wenigstens den vorhandenen Code, aber noch besser eine Beispielmappe sehen würde!
Gruess Hansueli

AW: VBA und Pivot
12.11.2015 11:53:10
violetta
Hier ist der Code, zum Teil schon angepasst. Den Teil in dem die Daten der Pivot angepasst werden, habe ich als Makro aufgezeichnet.
Sub SAZ_Kopieren()
ActiveSheet.Select
ActiveSheet.Copy Before:=Sheets("Pivot")
ActiveSheet.Name = Range("D13") & "_" & Sheets.Count - 4
Range("A19:S34").Select
Selection.ClearContents
Range("A18:B18").Select
ActiveCell.FormulaR1C1 = "=IF(Pivot!R[2]C[3]="""","""",Pivot!R[2]C[3])"
Range("C18:F18").Select
ActiveCell.FormulaR1C1 = "=IF(Pivot!R[2]C="""","""",Pivot!R[2]C)"
Range("G18:H18").Select
ActiveCell.FormulaR1C1 = "=IF(Pivot!R[2]C[-1]="""","""",Pivot!R[2]C[-1])"
Range("I18:J18").Select
ActiveCell.FormulaR1C1 = "=IF(Pivot!R[2]C[-2]="""","""",Pivot!R[2]C[-2])"
Range("K18").Select
ActiveCell.FormulaR1C1 = "=IF(Pivot!R[2]C[-6]="""","""",Pivot!R[2]C[-6])"
Range("A18:K18").Select
Selection.Copy
Range("A19:K34").Select
ActiveSheet.Paste
End Sub

Anzeige
AW: VBA und Pivot
12.11.2015 12:19:54
EtoPHG
Hallo violetta,
Wenn du dich in VBA versuchst, dann lies und verstehe den Artikel Der Malermeister und sein Lehrling.
Dein Code ist a) aufgezeichnet und b) z.T. widersinnig!
Gruess Hansueli

AW: VBA und Pivot
12.11.2015 12:25:32
violetta
Danke für die schnelle Reaktion,
ich hatte bereits erwähnt, dass ich die Codes zuerst aufgezeichnet habe und dann angepasst.
Vielleicht gibst du mir ja einen Hinweis, wo der Code für widersinnig ist, damit ich damit arbeiten kann. Klar lese ich den Artikel.
Herzliche Grüße

AW: VBA und Pivot
12.11.2015 12:41:30
violetta
Danke, Artikel hat in einem ersten Schritt geholfen. Der Code sieht jetzt wesentlich übersichtlicher aus.

Anzeige
AW: VBA und Pivot
12.11.2015 13:47:32
violetta

Die Datei https://www.herber.de/bbs/user/101461.xlsm wurde aus Datenschutzgründen gelöscht


Hier wäre meine Beispielmappe....

AW: VBA und Pivot
12.11.2015 15:15:15
EtoPHG
Hallo violetta,
Ich hab mal ein paar Formeln (Rechts oben auf den Rechnungsblatt) in deine Beispielmappe eingebaut.
Dahinter steckt 0 Code. Verändere die Seitenzahl mit dem Drehfeld-Element und schau was passiert.
Vielleicht hilft dieser Ansatz.
Gruess Hansueli

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige