/ / Dateien in einem Verzeichnis in Excel VBA

Dateien in einem Verzeichnis in Excel VBA

Unten sehen wir uns ein Programm in Excel VBA Das Durchläuft alle geschlossenen Arbeitsmappen und Arbeitsblätter in einem Verzeichnisund zeigt alle Namen an.

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

Situation:

Dateien in einem Verzeichnis Beispiel

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

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

Dim directory As String, fileName As String, sheet As Worksheet, i As Integer, j As Integer

2. Um Bildschirmflimmern zu vermeiden, deaktivieren Sie die Bildschirmaktualisierung.

Application.ScreenUpdating = 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 Mehrfachzeichen (*) und Einzelzeichen (?), Um nach verschiedenen Arten von Excel-Dateien 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 (bei 5, 6, 7, 8 und 9).

5. Initialisieren Sie die Variablen des Typs Integer, und fügen Sie der ersten Spalte der Zeile i den Namen der Excel-Datei hinzu.

i = i + 1
j = 2
Cells(i, 1) = fileName

6. Es gibt keine einfache Möglichkeit, Daten (oder Blattnamen) aus geschlossenen Excel-Dateien zu extrahieren. Daher öffnen wir die Excel-Datei.

Workbooks.Open (directory & fileName)

7. Fügen Sie alle Blattnamen der Excel-Datei den anderen Spalten der Zeile i hinzu.

For Each sheet In Workbooks(fileName).Worksheets
    Workbooks("files-in-a-directory.xls").Worksheets(1).Cells(i, j).Value = sheet.Name
    j = j + 1
Next sheet

8. Schließen Sie die Excel-Datei.

Workbooks(fileName).Close

9. Die Dir-Funktion 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 Null-Länge-Zeichenfolge ("") zurück. Als Ergebnis wird Excel VBA die Do While-Schleife verlassen.

10. Bildschirm wieder aktualisieren (außerhalb der Schleife).

Application.ScreenUpdating = True

11. Testen Sie das Programm.

Ergebnis:

Dateien in einem Verzeichnis in Excel VBA

Lesen Sie auch: