Tabellenblätter zusammenführen
✓ Tabellenblätter der ausgewählten Excel-Dateien mit einem Knopfdruck in einer Excel-Datei zusammenführen
✓ Tabellenblatt in eine neue Arbeitsmappe kopieren
✓ ScreenUpdating kurzzeitig deaktivieren
✓ Lokalfenster
✓ Benutzeroberfläche designen und Makro einem Button zuweisen
✓ Benutzer eine oder mehrere Dateien auswählen lassen
✓ Arrays
✓ If-Anweisung
✓ For-Next Schleife
✓ For-Each SChleife
✓ Variablen und Datentypen ✓ Arbeitsmappen öffnen und schließen
✓ Tabellenblatt in eine neue Arbeitsmappe kopieren
✓ ScreenUpdating kurzzeitig deaktivieren
✓ Lokalfenster
✓ Benutzeroberfläche designen und Makro einem Button zuweisen
✓ Benutzer eine oder mehrere Dateien auswählen lassen
✓ Arrays
✓ If-Anweisung
✓ For-Next Schleife
✓ For-Each SChleife
✓ Variablen und Datentypen ✓ Arbeitsmappen öffnen und schließen
Code
Sub Dateien_zusammenfuehren() 'Führt alle Tabellenblätter der ausgewählten Excel-Dateien in dieser Arbeitsmappe zusammen Dim wbQuelle As Workbook Dim sh As Worksheet Dim arrdateien As Variant Dim cntDatei As Long 'Screenupdating deaktivieren Application.ScreenUpdating = False 'Benutzer Dateien auswählen lassen arrdateien = Application.GetOpenFilename(filefilter:="Excel-Dateien (*.xls*),*.xls*", MultiSelect:=True) 'Wurde mindestens eine Datei ausgewählt? If IsArray(arrdateien) Then 'Schleife über alle ausgewählten Dateien For cntDatei = 1 To UBound(arrdateien) 'Aktuelle Arbeitsmappe öffnen Set wbQuelle = Workbooks.Open(Filename:=arrdateien(cntDatei), UpdateLinks:=False, ReadOnly:=True) 'Schleife über alle Tabellenblätter For Each sh In wbQuelle.Worksheets 'Aktuelles Tabellenblatt kopieren sh.Copy after:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count) Next sh 'Aktuelle Arbeitsmappe schließen wbQuelle.Close savechanges:=False Next cntDatei End If 'Screenupdating aktivieren Application.ScreenUpdating = True 'Bereitgestellt von VBATrainer: www.vbatrainer.de End Sub