✓ Benutzer mit der GetOpenFilename-Methode mehrere Dateien auswählen lassen (MultiSelect) und diese öffnen
✓ Arrays, UBound() und die IsArray-Funktion()
✓ Range ohne Header dynamisch mit CurrentRegion, Offset und Intersect auslesen
✓ Daten von einer Arbeitsmappe in eine andere Arbeitsmappe kopieren
✓ Lokalfenster
✓ Code optimieren: ScreenUpdating und PopUps deaktivieren
✓ Die If-Anweisung
✓ Letzte befüllte Zeile finden
✓ Variable definieren
✓ Tabellenblätter und Arbeitsmappen ansprechen
✓ For-Next Schleife
✓ Arrays, UBound() und die IsArray-Funktion()
✓ Range ohne Header dynamisch mit CurrentRegion, Offset und Intersect auslesen
✓ Daten von einer Arbeitsmappe in eine andere Arbeitsmappe kopieren
✓ Lokalfenster
✓ Code optimieren: ScreenUpdating und PopUps deaktivieren
✓ Die If-Anweisung
✓ Letzte befüllte Zeile finden
✓ Variable definieren
✓ Tabellenblätter und Arbeitsmappen ansprechen
✓ For-Next Schleife
Code
Sub Mehrere_Dateien_auswaehlen()
Dim arrDateien As Variant
Dim wbQuelle As Workbook
Dim LetzteZeile As Long
Dim cntDatei As Long
Dim rngQuelle As Range
'Screenupdating und PopUps deaktivieren
Application.ScreenUpdating = False
Application.DisplayAlerts = False
'Benutzer Dateien auswählen lassen
arrDateien = Application.GetOpenFilename(filefilter:="Excel-Dateien (*.xls*),*.xls*", MultiSelect:=True)
'Wurde eine Datei ausgewählt?
If IsArray(arrDateien) Then
'Schleife über alle ausgewählten Dateien
For cntDatei = 1 To UBound(arrDateien)
LetzteZeile = ThisWorkbook.Worksheets(1).Cells(Rows.Count, 1).End(xlUp).Row
'Aktuelle Arbeitsmappe öffnen
Set wbQuelle = Workbooks.Open(Filename:=arrDateien(cntDatei))
'Daten-Range setzen
Set rngQuelle = wbQuelle.Worksheets(1).Range("B2").CurrentRegion
'Daten kopieren und einfügen
Intersect(rngQuelle, rngQuelle.Offset(1, 0)).Copy
ThisWorkbook.Worksheets(1).Range("A" & LetzteZeile + 1).PasteSpecial
'Arbeitsmappe schließen
wbQuelle.Close SaveChanges:=False
Next cntDatei
End If
'Screenupdating und PopUps aktivieren
Application.ScreenUpdating = True
Application.DisplayAlerts = True
'Bereitgestellt von VBATrainer: www.vbatrainer.de
End Sub