Dateinamen in Excel auslesen ohne Dateiendung
Schritt-für-Schritt-Anleitung
Um in Excel die Dateinamen ohne Dateiendung auszulesen, kannst du den folgenden VBA-Code verwenden. Dieser Code liest die Dateinamen im angegebenen Verzeichnis aus und entfernt die Erweiterung.
-
Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
-
Füge ein neues Modul hinzu: Rechtsklick auf "VBAProject (DeineDatei.xlsx)" > Einfügen > Modul.
-
Kopiere den folgenden Code in das Modul:
Private Sub CommandButton1_Click()
Dim zeile As Long, fn As String
Dim Pfad As String, Muster As String
Range("B4:B65536").ClearContents
zeile = 4
Pfad = Range("B1").Value
If Right(Pfad, 1) <> "\" Then Pfad = Pfad & "\"
Muster = Range("B2").Value
fn = Dir(Pfad & Muster)
Do While fn <> ""
Cells(zeile, 2) = Left(fn, InStrRev(fn, ".") - 1)
zeile = zeile + 1
fn = Dir()
Loop
End Sub
-
Setze in Zelle B1 den Pfad des Verzeichnisses ein, von dem du die Dateinamen auslesen möchtest.
-
In Zelle B2 kannst du ein Muster angeben (z.B. *.* für alle Dateien).
-
Füge einen Button hinzu und verknüpfe ihn mit dem CommandButton1_Click-Event.
Nun kannst du auf den Button klicken, und die Dateinamen ohne Endung werden in die Zellen unterhalb von B4 ausgegeben.
Häufige Fehler und Lösungen
-
Fehler: "Typen unverträglich"
Stelle sicher, dass in Zelle B1 ein gültiger Pfad angegeben ist und dass dieser mit einem Backslash endet.
-
Fehler: Leere Zellen
Wenn keine Dateinamen erscheinen, überprüfe, ob der Pfad korrekt ist und ob in B2 das richtige Muster eingegeben wurde.
Alternative Methoden
Eine alternative Methode, um die Dateinamen ohne Endung auszulesen, besteht darin, die Formeln von Excel zu verwenden, anstatt VBA zu nutzen. Wenn du die Dateinamen in einer bestimmten Zelle speichern möchtest, kannst du dies allerdings nur mit einem Makro oder externen Tools tun, da Excel keine native Funktion dafür bietet.
Praktische Beispiele
-
Beispiel 1: Wenn dein Pfad in B1 C:\MeineDateien\ ist und du in B2 *.txt eingibst, werden alle .txt-Dateinamen ohne die Endung in die Zellen ab B4 ausgegeben.
-
Beispiel 2: Um alle Dateinamen in einem Ordner zu erfassen, gib einfach *.* in B2 ein.
Tipps für Profis
-
Nutze die InstrRev-Funktion, um die Position des letzten Punktes in einem Dateinamen zu finden, und entferne die Endung nur dann, wenn sie vorhanden ist. Dies vermeidet Fehler bei Dateinamen ohne Endung.
-
Experimentiere mit verschiedenen Mustern in B2, um gezielt nach bestimmten Dateitypen zu filtern.
FAQ: Häufige Fragen
1. Wie kann ich den Code anpassen, um auch Unterordner zu durchsuchen?
Das Durchsuchen von Unterordnern erfordert eine rekursive Funktion, die den Verzeichnisbaum durchläuft. Dies kann den Code erheblich komplizierter machen.
2. Funktioniert dieser Code auch in Excel für Mac?
Ja, der Code sollte auch in der Mac-Version von Excel funktionieren, solange du die VBA-Umgebung nutzen kannst.
3. Kann ich die Dateinamen auch in eine andere Zelle oder auf ein anderes Blatt ausgeben?
Ja, ändere einfach die Zellenreferenz in der Zeile Cells(zeile, 2) auf die gewünschte Zelle oder ein anderes Arbeitsblatt.