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

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

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
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

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige