/ / VBA Arbeitsmappen durchlaufen + Kopieren & Einfügen - Excel, VBA, Schleifen, Kopieren-Einfügen

VBA-Schleife durch Arbeitsmappen + Kopieren und Einfügen - Excel, VBA, Schleifen, Kopieren und Einfügen

Ich möchte Daten aus verschiedenen Arbeitsmappen (mit derselben Struktur) entnehmen und eine Schleife zum Kopieren und Einfügen der in der aktiven Arbeitsmappe abgerufenen Daten erstellen. Ich habe es versucht, aber es funktioniert nicht.

Sub loopMacro()
Dim Wb1 As Workbook, Wb2 As Workbook, Wb3 As Workbook
Dim MainBook As Workbook

"Open all workbooks:
Set Wb1 = Workbooks.Open("D:VBAfile1.xlsx")
Set Wb2 = Workbooks.Open("D:VBAfile2.xlsx")
Set Wb3 = Workbooks.Open("D:VBAfile3.xlsx")
Set MainBook = ThisWorkbook

For i = 1 To 3
For j = A To C
WB(i).Sheets("sheet1").Range("E4").Copy
MainBook.Sheets("DATA").Range(j & "1").PasteSpecial
WB(i).Sheets("sheet1").Range("E5").Copy
MainBook.Sheets("DATA").Range(j & "2").PasteSpecial
Next j
Next i

MainBook.Save
MainBook.Close End Sub

Grundsätzlich sollte das Makro die Daten von übernehmenBlatt 1 - Zellen E4 und E5 von Wb1, Wb2, Wb3 ... und drucken die Daten von Wb1 in der aktiven Arbeitsmappe (Zellen A1 und A2), die Daten von Wb2 in den Zellen B1 und B2, die Daten von Wb3 in den Zellen C1 und C2. Kann jemand helfen?

Antworten:

0 für die Antwort № 1

Ihr Problem ist, dass WB (i) nicht zu Wb1, Wb2 usw. führt.

Ersetze das for i mit

For Each wb In Array(Wb1, Wb2, Wb3)

und dann alles wb(i) mit wb