Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1716to1720
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 Bestimmte Zeilen aus n Mappen copy&pasten

VBA Bestimmte Zeilen aus n Mappen copy&pasten
08.10.2019 12:40:15
Dome
Hi Leute
In einer Quelldatei befinden sich mehrere Mappen (mehr als jene 2 im Code unten) mit Daten in den Zeilen 6, 9, 10, etc., welche ich in der Zieldatei in Tabelle1 einfügen möchte, und zwar transponiert und untereinander eingefügt.
Folgenden Code habe ich mir aufgezeichnet:

Sub copy_transform_aggregate()
Sheets("Tabelle1").Select
Range("A1").Select
Workbooks.Open Filename:= _
"...\Quelldatei.xlsx"
Sheets("Mappe1").Select
Range("6:6,9:9,10:10,12:12,13:13,14:14,15:15,28:28,29:29,30:30,31:31").Select
Selection.Copy
Windows("Zieldatei.xlsm").Activate
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Windows("Quelldatei.xlsx").Activate
Sheets("Mappe2").Select
Range("6:6,9:9,10:10,12:12,13:13,14:14,15:15,28:28,29:29,30:30,31:31").Select
Application.CutCopyMode = False
Selection.Copy
Windows("Zieldatei.xlsm").Activate
Range("A12").Select '1. Zelle unterhalb der eingefügten Daten
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Windows("Quelldatei.xlsx").Activate
ActiveWindow.Close
End Sub
Das sieht natürlich etwas unschön aus. Ihr könnt mir sicherlich einen etwas effizienteren Vorschlag machen? ;)
Vorab bereits herzlichen Dank für Eure Ideen.
LG
Dome

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

Betreff
Datum
Anwender
Anzeige
AW: VBA Bestimmte Zeilen aus n Mappen copy&pasten
08.10.2019 12:54:45
Regina
Hi Dome,
sollte so eghen (ungetestet). ich habe den Code mal etwas aufgeräumt. In der Regel kommt man ohne Select und Activate aus:
Sub copy_transform_aggregate()
Dim obj_wks_ziel As Worksheet
Dim obj_wks_quelle As Worksheet
Dim obj_wkb_ziel As Workbook
Dim obj_wkb_quelle As Workbook
Dim lng_zeile As Long
Set obj_wkb_ziel = ThisWorkbook
Set obj_wks_ziel = obj_wkb_ziel.Worksheets("Tabelle1") ' Tabellenblatt, in das die Daten eingefü _
gt werden
Workbooks.Open Filename:="...\Quelldatei.xlsx"
Set obj_wkb_quelle = ActiveWorkbook
' Tabellenblatt Mappe1 abarbeiten
Set obj_wks_quelle = obj_wkb_quelle.Worksheets("Mappe1")
lng_zeile = 1
obj_wks_quelle.Range("6:6,9:9,10:10,12:12,13:13,14:14,15:15,28:28,29:29,30:30,31:31").Copy
obj_wks_ziel.Cells(lng_zeile, 1).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
_
False, Transpose:=True
' Tabellenblatt Mappe1 abarbeiten
Set obj_wks_quelle = obj_wkb_quelle.Worksheets("Mappe2")
lng_zeile = lng_zeile + 11
obj_wks_quelle.Range("6:6,9:9,10:10,12:12,13:13,14:14,15:15,28:28,29:29,30:30,31:31").Copy
obj_wks_ziel.Cells(lng_zeile, 1).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
_
False, Transpose:=True
obj_wkb_quelle.Close
End Sub
Noch ein Wort zu den richtigen Bezeichnungen:
Innerhlab einer Datei (=Arbeitsmappe) spricht man von Tabellenblättern, insofern ist Deine Bezeichnung "Mappe 1" für ein Tabellenblatt etwas irreführend.
Gruß
Regina
Anzeige
AW: VBA Bestimmte Zeilen aus n Mappen copy&pasten
08.10.2019 13:30:33
Dome
Hallo Regina,
Wow, das ging ja schnell, vielen lieben Dank. Das funktioniert hervorragend...
Meinst Du es wäre möglich die "11" variabel zu halten?
LG
Dome
AW: VBA Bestimmte Zeilen aus n Mappen copy&pasten
08.10.2019 13:35:26
Regina
Hi, dann ersetze die Zeile mit dem +11 durch
lng_zeile = obj_wks_ziel.Cells(Rows.Count, 1).End(xlUp).Row

AW: VBA Bestimmte Zeilen aus n Mappen copy&pasten
08.10.2019 13:56:56
Dome
Hi,
Jetzt überschreibt es mir immer die Daten.
Kann es daran liegen, dass in der Spalte A der Zieldatei jeweils lediglich in der ersten Zelle ein Wert steht.. ?
Erst in der Spalte C der Zieldatei stehen dann Werte bis "ganz zum Ende".
LG
Dome
Anzeige
AW: VBA Bestimmte Zeilen aus n Mappen copy&pasten
08.10.2019 14:32:54
Dome
Hi Regina,
Habs selbst rausbekommen:

lng_zeile = obj_wks_ziel.Cells(Rows.Count, 3).End(xlUp).Row

AW: VBA Bestimmte Zeilen aus n Mappen copy&pasten
08.10.2019 15:51:56
Regina
Bingo!
Vielen Dank für Deine Hilfe!
08.10.2019 16:06:45
Dome

311 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige