Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Pivot per VBA kopieren

Pivot per VBA kopieren
29.08.2008 17:38:21
Windalf
Hallo,
ich würde gerne einen existierenden Pivot auf ein anderes Blatt kopieren.
Angenommen ich habe ein Worksheet mit ganz vielen Pivottabellen. Nun will ich genau den einen Pivot auf den ich einen Zeiger habe auf ein neues Worksheet kopieren wie geht das? (Also nicht einfach pauschal das Blatt kopieren und da wild rumlöschen)
Dim piv As PivotTable
Dim ws As Worksheet
Set piv = Selection.PivotTable
Sheets.Add
Set ws = ActiveSheet
ws = ... piv.... Wie kopiere ich den Spaß (und zwar so das nicht nur die hinter dem Pivot liegenden Daten zur Verfügung stehen sondern der Pivot wirklich auch schon so aufgebaut ist wie der Orignalpivot). Ich find den Befehl dazu einfach nicht (und hoffe mal das man den nicht vollständig selbst in VBA nachbauen muss)
Zweite Frage. Angenomen ich habe einen Zeiger piv auf den Pivot. Mit welcher Eigenschaft von piv bekomme ich heraus bei welchem x-y-Wert der Pivot startet und wo er beendet ist
Danke Gruß Windi...
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Pivot per VBA kopieren
29.08.2008 18:15:39
Windalf
Ok Frage 2 hat sich erübrigt. Frage 1 noch nicht. (Außer man muss wirklich so von hinten mit der Brust durchs knie da Range markieren, kopieren und einfügen...)
AW: Pivot per VBA kopieren
29.08.2008 18:19:26
Erich
Hi Windi,
eine Möglichkeit (getestet, aber ohne mehr Erfahrung damit...):

Sub PivotCopy()
ActiveSheet.PivotTables("PivotTable1").TableRange2.Copy Sheets("Kop").Cells(10, 2)
End Sub

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: Pivot per VBA kopieren
29.08.2008 18:26:00
Windalf
Besten Dank... Genau das...
piv.TableRange2.Copy ws.Cells(1, 3) tuts...
;
Anzeige
Anzeige

Infobox / Tutorial

Pivot-Tabellen per VBA kopieren


Schritt-für-Schritt-Anleitung

Um eine Pivot-Tabelle per VBA auf ein anderes Arbeitsblatt zu kopieren, kannst du folgendes Skript verwenden:

Sub PivotCopy()
    Dim piv As PivotTable
    Dim ws As Worksheet

    ' Setze den aktiven PivotTable
    Set piv = Selection.PivotTable

    ' Neues Arbeitsblatt hinzufügen
    Set ws = Sheets.Add

    ' Pivot-Tabelle kopieren
    piv.TableRange2.Copy ws.Cells(1, 1)
End Sub
  1. Wähle die Pivot-Tabelle aus, die du kopieren möchtest.
  2. Führe das obige Makro aus. Es erstellt ein neues Arbeitsblatt und kopiert die ausgewählte Pivot-Tabelle dorthin.
  3. Die Pivot-Tabelle wird in der gleichen Struktur wie das Original auf dem neuen Blatt eingefügt.

Häufige Fehler und Lösungen

  • Fehler: "Objektvariable oder With-Blockvariable nicht festgelegt"
    Lösung: Stelle sicher, dass du die Pivot-Tabelle korrekt ausgewählt hast, bevor du das Makro ausführst.

  • Fehler: "Kopieren nicht möglich"
    Lösung: Überprüfe, ob das Zielblatt (ws) korrekt definiert ist. Wenn das Arbeitsblatt für die Kopie bereits existiert, könnte es zu Konflikten kommen.


Alternative Methoden

Falls du keine VBA-Lösungen verwenden möchtest, kannst du auch manuell vorgehen:

  1. Pivot-Tabelle kopieren: Wähle die Pivot-Tabelle aus und kopiere sie mit Strg+C.
  2. Neues Arbeitsblatt erstellen: Füge ein neues Arbeitsblatt hinzu.
  3. Einfügen: Verwende Strg+V, um die Pivot-Tabelle einzufügen.

Beachte, dass beim manuellen Kopieren die Formatierungen möglicherweise nicht korrekt übernommen werden.


Praktische Beispiele

Angenommen, du hast eine Pivot-Tabelle namens "PivotTable1" und möchtest diese auf ein Arbeitsblatt namens "Kop" kopieren. Das VBA-Skript würde so aussehen:

Sub PivotCopyExample()
    ActiveSheet.PivotTables("PivotTable1").TableRange2.Copy Sheets("Kop").Cells(10, 2)
End Sub

Dieses Beispiel kopiert die Pivot-Tabelle direkt in die Zelle B10 des Arbeitsblatts "Kop".


Tipps für Profis

  • Nutze vba excel checkbox, um Checkboxen in deiner Excel-Anwendung zu integrieren. Diese können z.B. zur Auswahl der zu kopierenden Pivot-Tabellen verwendet werden.
  • Teste dein VBA-Skript in einer Kopie deiner Arbeitsmappe, um ungewollte Veränderungen zu vermeiden.
  • Verwende die WorksheetFunction-Objekte, um Berechnungen auf den kopierten Daten durchzuführen.

FAQ: Häufige Fragen

1. Wie kann ich mehrere Pivot-Tabellen auf einmal kopieren?
Du kannst eine Schleife verwenden, um durch alle Pivot-Tabellen auf dem aktiven Arbeitsblatt zu iterieren und jede einzeln zu kopieren.

2. Wie finde ich die Position meiner Pivot-Tabelle?
Du kannst die Eigenschaften Top und Left der Pivot-Tabelle nutzen, um ihre Position in der Arbeitsmappe zu ermitteln:

Dim startX As Double
Dim startY As Double

startX = piv.TableRange2.Top
startY = piv.TableRange2.Left

3. Kann ich die Checkboxen in der Pivot-Tabelle über VBA steuern?
Ja, du kannst mit checkbox vba die Werte von Checkboxen manipulieren, um bestimmte Daten in den Pivot-Tabellen anzuzeigen oder auszublenden.

4. Gibt es Unterschiede zwischen Excel-Versionen?
Ja, die VBA-Syntax kann sich zwischen den Versionen leicht unterscheiden. Achte darauf, die richtige Version zu verwenden, um Komplikationen zu vermeiden.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige