Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Dateinamen auslesen ohne Dateiendung!

Dateinamen auslesen ohne Dateiendung!
Karel
Hallo Leute,
mit unterstehende code lesen ich dateinamen aus mit dateiendung, was muss ich ändere sodas dateiendung nicht mit ausgegeben wird.
also nicht so
abc.xx
aber so
abc
'Dateien auslesen
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")
If Right(Pfad, 1)  "\" Then Pfad = Pfad & "\"
Muster = Range("B2")
fn = Dir(Pfad & Muster)
Do While fn  ""
Cells(zeile, 2) = fn
zeile = zeile + 1
fn = Dir()
Loop
End Sub
grüsse
Karel
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Dateinamen auslesen ohne Dateiendung!
07.02.2011 16:26:20
Hajo_Zi
Hallo Karel,
Du liest den aus einer Zelle aus?
Wir sehen nicht was in der Zele steht. Stelle mit Instr() fest wo der Punkt ist und dann Leftt mit dieser Zahl-1

AW: Dateinamen auslesen ohne Dateiendung!
07.02.2011 16:27:07
Josef

Hallo Karel,
Cells(zeile, 2) = Left(fn,InstrRev(fn,".")-1)


Gruß Sepp

Anzeige
AW: Dateinamen auslesen ohne Dateiendung!
07.02.2011 16:33:41
Karel
Danke Hajo und Sepp
Grüße
Karel

Forumthreads zu verwandten Themen

Anzeige
Anzeige

Infobox / Tutorial

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.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge ein neues Modul hinzu: Rechtsklick auf "VBAProject (DeineDatei.xlsx)" > Einfügen > Modul.

  3. 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
  4. Setze in Zelle B1 den Pfad des Verzeichnisses ein, von dem du die Dateinamen auslesen möchtest.

  5. In Zelle B2 kannst du ein Muster angeben (z.B. *.* für alle Dateien).

  6. 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.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige