Verzeichnis mit Unterordnern in Excel auslesen
Schritt-für-Schritt-Anleitung
Um alle Dateien aus einem Hauptverzeichnis sowie seinen Unterordnern auszulesen und in eine Excel-Liste zu speichern, kannst Du folgenden VBA-Code verwenden:
- Öffne Excel und drücke
ALT + F11
, um den VBA-Editor zu öffnen.
- Gehe zu
Einfügen
> Modul
, um ein neues Modul zu erstellen.
- Kopiere den folgenden Code in das Modul:
Sub DateienAuslesen()
Dim Hauptverzeichnis As String
Dim Zeile As Long
Hauptverzeichnis = "C:\Pfad\Zu\Deinem\Ordner" ' Passe den Pfad an
Zeile = 1 ' Startzeile für die Liste
' Aufruf der Funktion zum Auslesen
Call DurchlaufeOrdner(Hauptverzeichnis, Zeile)
End Sub
Sub DurchlaufeOrdner(ByVal Ordner As String, ByRef Zeile As Long)
Dim Datei As String
Dim Unterordner As String
' Auslesen der Dateien im aktuellen Ordner
Datei = Dir(Ordner & "\*.*")
Do While Datei <> ""
Cells(Zeile, 1).Value = Ordner & "\" & Datei
Zeile = Zeile + 1
Datei = Dir
Loop
' Auslesen der Unterordner
Unterordner = Dir(Ordner & "\*", vbDirectory)
Do While Unterordner <> ""
If Unterordner <> "." And Unterordner <> ".." Then
' Rekursiver Aufruf für Unterordner
Call DurchlaufeOrdner(Ordner & "\" & Unterordner, Zeile)
End If
Unterordner = Dir
Loop
End Sub
- Schließe den VBA-Editor und kehre zu Excel zurück.
- Führe das Makro
DateienAuslesen
aus.
Dieser Code durchläuft das angegebene Hauptverzeichnis und listet alle Dateien, einschließlich der in Unterordnern, in der Excel-Tabelle auf.
Häufige Fehler und Lösungen
-
Problem: Das Makro funktioniert nicht oder es werden keine Dateien angezeigt.
Lösung: Überprüfe den Pfad des Hauptverzeichnisses und stelle sicher, dass es korrekt eingegeben wurde. Achte darauf, dass das Verzeichnis existiert und lesbar ist.
-
Problem: Fehlermeldung beim Ausführen des Makros.
Lösung: Stelle sicher, dass die Makros in Excel aktiviert sind. Gehe zu Datei
> Optionen
> Trust Center
> Einstellungen für das Trust Center
und aktiviere die Makros.
Alternative Methoden
Falls Du keine VBA-Lösung nutzen möchtest, kannst Du auch Excel Power Query verwenden, um die Ordnerstruktur auszulesen. Gehe dazu auf Daten
> Abrufen und Transformieren
> Aus Datei
> Aus Ordner
und wähle den gewünschten Ordner aus. Power Query erstellt eine Tabelle mit allen Dateien und Unterordnern.
Praktische Beispiele
Hier ist ein Beispiel, wie Du das Skript für unterschiedliche Ordnerstrukturen anpassen kannst:
-
Beispiel 1: Wenn Du den Ordner "Aufnahmen" hast, setze Hauptverzeichnis
auf C:\Benutzer\DeinName\Aufnahmen
.
-
Beispiel 2: Möchtest Du nur Dateien eines bestimmten Typs (z.B. .jpg
), kannst Du die Zeile im Code Datei = Dir(Ordner & "\*.jpg")
anpassen.
Tipps für Profis
-
Verwende die Application.ScreenUpdating = False
Anweisung, um die Bildschirmaktualisierung während des Laufens des Makros zu deaktivieren. Dies kann die Ausführungsgeschwindigkeit erhöhen.
-
Wenn Deine Ordnerstruktur sehr komplex ist, überlege, die Ergebnisse in einer Datenbank wie Access zu speichern, um eine bessere Verwaltung zu ermöglichen.
FAQ: Häufige Fragen
1. Kann ich das Skript für andere Dateitypen anpassen?
Ja, Du kannst die Dateiendung im Dir-Befehl ändern, um nur bestimmte Dateitypen auszulesen.
2. Funktioniert der Code in Excel 365?
Ja, der Code ist mit Excel 365 kompatibel. Achte darauf, dass Du die Makros aktiviert hast.
3. Was mache ich, wenn ich keine VBA-Erfahrung habe?
Du kannst Power Query verwenden, um die Ordnerstruktur auszulesen, was eine benutzerfreundliche Alternative ist.