Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Makro - Dynamisches Kopieren

Forumthread: Makro - Dynamisches Kopieren

Makro - Dynamisches Kopieren
19.02.2022 10:46:39
Peter
Hi zusammen,
ich habe ein Problem mit folgendem Makro. Ich würde gerne die Daten einer Pivot-Tabelle (im Beispiel nur die Werte in Spalte, ab A3) in ein zweites Arbeitsblatt kopieren (fortlaufende Liste als Ergebnis) - da je Datenlage in der Pivot unterschiedlich viele Datensätze vorhanden sind, soll der Inhalt dynamisch kopiert werden. Das Makro selbst kopiert leider in der aktuellen Version nur ein Teil der Daten (in der Pivot sind z.b. 62 Datensätze, es werden aber nur die ersten 38 kopiert). Ist der Code nicht korrekt? Nebenfrage; beim kopieren in das zweite Tabellenblatt wird die letzte belegte Zeile immer überschrieben; kann man den Code auch so ändern, dass er die Daten in die erste freie Zelle kopiert?

Sub BereichKopieren1()
Dim lastrow As Long
lastrow = Worksheets("Tabelle1").Cells(Rows.Count, 1).End(xlUp).Row
Worksheets("Tabelle1").Select
Range("A3:A3" & lastrow).Copy
Worksheets("Tabelle2").Select
Range("B3").Select
Selection.End(xlDown).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro - Dynamisches Kopieren
19.02.2022 10:53:37
Peter
Nachtrag. Sry ich hab noch etwas vergessen, 38Zeilen ist jener Bereich welcher im Arbeitsplatt ohne scrollen sichtbar ist. Das heißt, er ignoriert die Daten im nicht "sichtbaren" Bereich.
AW: Makro - Dynamisches Kopieren
19.02.2022 11:21:05
Luschi
Hallo Peter,
dazu mußt Du die Properties der Pivottabelle abfragen und nicht die der Exceltabelle;
den Datenbereich der Pivottabelle ermittelt man so:

With Worksheets("meine_Tabelle").PivotTables("meine_PivotTable")
Debug.Print .DataBodyRange.Address
End With
Gruß von Luschi
aus klein-Paris
Anzeige
AW: Makro - Dynamisches Kopieren
19.02.2022 11:25:48
ralf_b
unabhängig vom Pivotthema hier mal ein Vorschlag für dein Copy.
lastrow ist die letzte "belegte" Zeile also muß um 1 erhöht werden. Hier mit offset(1)

Sub BereichKopieren1()
With Worksheets("Tabelle1")
.Range("A3:A" & .Cells(.Rows.Count, 1).End(xlUp).Row).Copy
End With
With Worksheets("Tabelle2")
.Cells(.Rows.Count, 2).End(xlUp).Offset(1).PasteSpecial Paste:=xlPasteValues, _
Operation:=xlNone, _
SkipBlanks:=False, _
Transpose:=False
End With
End Sub

Anzeige
AW: Makro - Dynamisches Kopieren
19.02.2022 11:43:31
Peter
Vielen dank für eure Hilfe, ich hatte in der Zwischenzeit auch schon eine mögliche Lösung gefunden.

Sub BereichKopieren1()
Dim lastrow As Long
Dim iRow As Long
lastrow = Worksheets("Summary").Cells(Rows.Count, 1).End(xlUp).Row
Worksheets("Summary").Select
ActiveSheet.PivotTables("PivotTable13").PivotSelect "Datum[All]", xlLabelOnly, _
True
Selection.Copy
'Range("HY4:HY4" & lastrow).Copy
Worksheets("Ergebnis").Select
With Sheets("Ergebnis")
iRow = .Cells(.Rows.Count & lastrow).End(xlUp).Row + 1
.Range("A" & iRow).PasteSpecial 'xlPasteValues
End With
End Sub
Merci und 1000 Dank
Anzeige
;

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