Ordner suchen nach Namensbestandteil in Excel mit VBA
Schritt-für-Schritt-Anleitung
Um einen Ordner zu suchen, dessen Name mit dem Benutzernamen des angemeldeten Users beginnt, kannst Du das folgende VBA-Skript verwenden. Achte darauf, dass Du das feste Verzeichnis anpassen musst.
-
Öffne Excel und drücke ALT + F11
, um den VBA-Editor zu öffnen.
-
Füge ein neues Modul hinzu (Einfügen > Modul
).
-
Kopiere den folgenden Code in das Modul:
Sub DirOpen()
Dim lstrVerz As String
lstrVerz = Dir("DEIN FESTES VERZEICHNIS\*" & Environ("username") & "*", vbDirectory)
If lstrVerz <> "" Then
ChDrive (Left("DEIN FESTES VERZEICHNIS\", 3))
ChDir ("DEIN FESTES VERZEICHNIS\" & lstrVerz)
Open "Bsp-Datei.txt" For Append As #1
Close
End If
End Sub
-
Ersetze DEIN FESTES VERZEICHNIS
mit dem tatsächlichen Pfad, in dem die Ordner gespeichert sind.
-
Schließe den VBA-Editor und führe das Makro aus.
Nun sollte das Skript den Ordner suchen und öffnen, der mit Deinem Benutzernamen beginnt.
Häufige Fehler und Lösungen
Alternative Methoden
Eine andere Möglichkeit, im VBA-Umfeld nach Ordnern zu suchen, ist die Verwendung von Application.FileDialog
. Damit kannst Du ein Dialogfeld öffnen, um den Benutzer einen Ordner auswählen zu lassen.
Sub BrowseForFolder()
Dim fd As FileDialog
Set fd = Application.FileDialog(msoFileDialogFolderPicker)
With fd
.Title = "Wähle einen Ordner"
.AllowMultiSelect = False
If .Show = -1 Then
MsgBox "Ordner ausgewählt: " & .SelectedItems(1)
End If
End With
End Sub
Praktische Beispiele
Wenn Du das Skript anpassen möchtest, um nicht nur nach dem Benutzernamen, sondern auch nach spezifischen Mustern zu suchen, könntest Du den Dir
-Befehl erweitern. Zum Beispiel, um nach Ordnern zu suchen, die mit "Projekt" beginnen:
lstrVerz = Dir("DEIN FESTES VERZEICHNIS\Projekt*.*", vbDirectory)
Tipps für Profis
- Nutze die
Option Explicit
-Anweisung am Anfang Deines Moduls, um sicherzustellen, dass alle Variablen deklariert sind. So vermeidest Du Fehler und erhöhst die Lesbarkeit Deines Codes.
- Für komplexere Suchen solltest Du die
Scripting.FileSystemObject
-Bibliothek verwenden. Diese bietet erweiterte Funktionen zum Arbeiten mit Dateien und Ordnern.
FAQ: Häufige Fragen
1. Wie kann ich den Pfad dynamisch anpassen?
Du kannst den Pfad entweder über Eingaben in den Excel-Zellen beziehen oder ein zusätzliches Eingabedialogfeld nutzen.
2. Funktioniert das auch in Excel Online?
Leider ist VBA nicht in Excel Online verfügbar. Die oben beschriebenen Methoden sind nur in der Desktop-Version von Excel anwendbar.
3. Was ist, wenn ich mehrere Benutzerordner habe?
Das Skript sucht nach dem ersten Ordner, der dem Muster entspricht. Du kannst das Skript erweitern, um alle passenden Ordner aufzulisten.