/ / Importieren Sie Blätter mit Excel VBA

Importieren Sie Blätter mit Excel VBA

Unten sehen wir uns ein Programm in Excel VBA Das importiert Blätter aus anderen Excel-Dateien in eine Excel-Datei.

Laden Sie Book1.xls, Book2.xls herunter und fügen Sie sie zu "C: test" hinzu

Situation:

Importieren Sie Blätter mit Excel VBA

Fügen Sie der Befehlsschaltfläche die folgenden Codezeilen hinzu:

1. Zuerst deklarieren wir zwei Variablen vom Typ String, ein Worksheet-Objekt und eine Variable vom Typ Integer.

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

2. Schalten Sie den Bildschirm aus, um Warnungen zu aktualisieren und anzuzeigen.

Application.ScreenUpdating = False
Application.DisplayAlerts = False

3. Initialisieren Sie das Variablenverzeichnis. Wir verwenden die Funktion Dir, um das 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 Platzhalterzeichen (*) und einzelnen Zeichen (?), Um nach allen unterschiedlichen Excel-Dateitypen zu suchen.

4. Die Variable Dateiname enthält nun den Namen der ersten Excel-Datei im Verzeichnis. Fügen Sie eine Do While-Schleife hinzu.

Do While fileName <> ""

Loop

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

5. Es gibt keine einfache Möglichkeit, Arbeitsblätter aus geschlossenen Excel-Dateien zu kopieren. Deshalb öffnen wir die Excel-Datei.

Workbooks.Open (directory & fileName)

6. Importieren Sie die Blätter aus der Excel-Datei in import-sheet.xls.

For Each sheet In Workbooks(fileName).Worksheets
    total = Workbooks("import-sheets.xls").Worksheets.count
    Workbooks(fileName).Worksheets(sheet.Name).Copy _
    after:=Workbooks("import-sheets.xls").Worksheets(total)
Next sheet

Erläuterung: Die Variable total enthält die Gesamtzahl der Arbeitsblätter von import-sheet.xls. Wir verwenden die Copy-Methode des Worksheet-Objekts, um jedes Arbeitsblatt zu kopieren und nach dem letzten Arbeitsblatt von import-sheets.xls einzufügen.

7. Schließen Sie die Excel-Datei.

Workbooks(fileName).Close

8. Die Funktion Dir ist eine spezielle Funktion. Um die anderen Excel-Dateien zu erhalten, können Sie die Dir-Funktion erneut ohne Argumente verwenden.

fileName = Dir()

Hinweis: Wenn keine Dateinamen mehr übereinstimmen, gibt die Dir-Funktion eine Zeichenfolge mit der Länge null ("") zurück. Als Ergebnis wird Excel VBA die Do While-Schleife verlassen.

9. Schalten Sie die Bildschirmaktualisierung ein und zeigen Sie Warnungen erneut an (außerhalb der Schleife).

Application.ScreenUpdating = True
Application.DisplayAlerts = True

10. Testen Sie das Programm.

Ergebnis:

Blätter importieren Ergebnis

Lesen Sie auch: