Im Folgenden, dass die Einfuhren Blätter aus anderen Excel-Dateien in eine Excel-Datei in einem Programm in Excel VBA aussehen werde.

Herunterladen Book4.xlsx, Book5.xlsx und fügen Sie sie in „C: \ test \“

Situation:

Import Sheets using Excel VBA

Fügen Sie die folgenden Codezeilen in die Befehlsschaltfläche:

  1. Zuerst erklären wir zwei Variablen vom Typ String, ein Arbeitsblatt-Objekt und eine Variable vom Typ Integer.

Dim directory As String, fileName As String, sheet As Worksheet, total As Integer

Schalten Sie die Bildschirmaktualisierung und Anzeigen von Warnungen 2..

Application.ScreenUpdating = False

Application.DisplayAlerts = False
  1. Initialisieren der variable Verzeichnis. Wir verwenden die Funktion Dir die erste .xl zu finden ?? Datei in diesem Verzeichnis gespeichert.

directory = "c:\test\"

fileName = Dir(directory & ".xl??")

Hinweis: (?) Die Dir-Funktion unterstützt die Verwendung von Mehrfach-Zeichen (*) und Einzelzeichen-Platzhalter für alle verschiedene Arten von Excel-Dateien zu suchen.

  1. Die Variable filename hält nun den Namen der ersten Excel-Datei im Verzeichnis. Fügen Sie eine Do While-Schleife.

Do While fileName <> ""

Loop

Fügen Sie die folgenden Codezeilen (bei 5, 6, 7 und 8) an die Schleife.

  1. Es gibt keine einfache Möglichkeit, Arbeitsblätter aus geschlossen Excel-Dateien zu kopieren.

Deshalb öffnen wir die Excel-Datei.

Workbooks.Open (directory & fileName)
  1. Importieren Sie die Blätter aus der Excel-Datei in Import-sheet.xlsm.

For Each sheet In Workbooks(fileName).Worksheets

total = Workbooks("import-sheets.xlsm").Worksheets.count

Workbooks(fileName).Worksheets(sheet.Name).Copy _

after:=Workbooks("import-sheets.xlsm").Worksheets(total)

Next sheet

Erläuterung: die Variable insgesamt hält den Überblick über die Gesamtzahl der Arbeitsblätter von Import-sheet.xlsm. Wir verwenden die Copy-Methode des Worksheet-Objekts jedes Arbeitsblatt zu kopieren und nach dem letzten Arbeitsblatt von Import-sheets.xlsm einfügen.

  1. Schließen Sie die Excel-Datei.

Workbooks(fileName).Close
  1. Die Dir-Funktion ist eine spezielle Funktion. Um die anderen Excel-Dateien zu erhalten, können Sie die Dir-Funktion verwenden, wieder ohne Argumente.

fileName = Dir()

Hinweis: Wenn keine weiteren Dateinamen übereinstimmen, die Dir-Funktion gibt eine leere Zeichenfolge ( „“). Als Ergebnis wird Excel VBA die Do While-Schleife verlassen.

  1. Schalten Sie die Bildschirmaktualisierung und Anzeigen von Warnungen wieder (außerhalb der Schleife).

Application.ScreenUpdating = True

Application.DisplayAlerts = True
  1. Testen Sie das Programm.

Ergebnis:

Import Sheets Result