Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Nur Pfad ohne Dateiname

Nur Pfad ohne Dateiname
06.04.2005 06:05:03
Thomas
Wunderschönen guten Morgen liebe Forum-Mitglieder
Ich suche eine Möglichkeit, wie ich per VBA den Pfad ohne Dateiname auslesen kann.
s = Application.ActiveWorkbook.Path '[Anzeige "C:\Eigene Dateien\Krfa\HSK\HSK-ProForst.xls"]
si = Right(si, InStr(1, StrReverse(si), "\") - 1) '[Anzeige "HSK-ProForst.xls"]
Ich will aber nur den Pfad ohne Dateiname
"C:\Eigene Dateien\Krfa\HSK\"
Kann mir jemand auf die Sprünge helfen, wie der Code ausschauen muss.
Vielen Dank
Gruss Thomas
(PS. Kann leider erst am Abend wieder im Forum nachschauen, Bitte Geduld=
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Nur Pfad ohne Dateiname
06.04.2005 06:09:33
Hajo_Zi
Hallo Thomas,

Sub Test()
Dim StAblage As String
StAblage = ThisWorkbook.Path
End Sub

Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Home SP2 und Excel Version 2003 SP1.


Anzeige
AW: Nur Pfad ohne Dateiname
06.04.2005 06:24:47
Thomas
Hallo Hajo
Auch schon auf...?
Sorry, mein Fehler (ist noch ein bisschen früh).
Ich möchte vom Pfad die letzte Verzweigung abschneiden. Also statt "C:\Eigene Dateien\Krfa\HSK\ so "C:\Eigene Dateien\Krfa\.
Hast du dafür noch eine Lösung parat?
Danke
Gruss Thomas
AW: Nur Pfad ohne Dateiname
06.04.2005 06:44:22
Nepumuk
Morgen Thomas,
eine Möglichkeit:


Option Explicit
Public Sub test()
    Debug.Print fncShortPath("C:\Eigene Dateien\Krfa\HSK\")
End Sub
Private Function fncShortPath(strPath As StringAs String
    Dim varArray As Variant, intIndex As Integer
    If Right$(strPath, 1) = "\" Then strPath = Mid$(strPath, 1, Len(strPath) - 1)
    varArray = Split(strPath, "\")
    For intIndex = 0 To UBound(varArray) - 1
        fncShortPath = fncShortPath & varArray(intIndex) & "\"
    Next
End Function


Gruß
Nepumuk
Anzeige
AW: Nur Pfad ohne Dateiname
06.04.2005 06:50:06
Thomas
Hallo Nepumk
Ist werde das gleich heute Abend testen.
Vielen Dank und einen schönen Tag!
Gruss
Thomas
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Pfad ohne Dateiname in Excel auslesen


Schritt-für-Schritt-Anleitung

Um den Pfad ohne Dateiname in Excel zu erhalten, kannst du VBA verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

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

  2. Klicke im Menü auf Einfügen und wähle Modul.

  3. Füge den folgenden VBA-Code ein:

    Sub GetPathWithoutFilename()
        Dim path As String
        path = ThisWorkbook.Path
        MsgBox path
    End Sub
  4. Schließe den VBA-Editor und kehre zu Excel zurück.

  5. Drücke ALT + F8, wähle GetPathWithoutFilename und klicke auf Ausführen.

  6. Ein Fenster zeigt dir den Pfad ohne Dateiname an.

Wenn du den Pfad auf eine bestimmte Weise formatieren möchtest, um zum Beispiel die letzte Verzweigung abzuschneiden, kannst du den Code wie folgt anpassen:

Sub GetShortPath()
    Dim fullPath As String
    Dim shortPath As String
    fullPath = ThisWorkbook.Path
    shortPath = Left(fullPath, InStrRev(fullPath, "\") - 1) ' Entfernt den letzten Ordner
    MsgBox shortPath
End Sub

Häufige Fehler und Lösungen

  • Fehler: "Anwendungsfehler"

    • Lösung: Überprüfe, ob du den VBA-Code in einem Modul und nicht in einem anderen Objekt (wie ein Arbeitsblatt) eingefügt hast.
  • Fehler: "Pfad wird nicht angezeigt"

    • Lösung: Stelle sicher, dass das Workbook tatsächlich gespeichert ist. Der Pfad wird nur angezeigt, wenn die Datei gespeichert wurde.

Alternative Methoden

Neben VBA gibt es auch Excel-Formeln, um den Dateinamen und den Pfad auszulesen. Eine gängige Methode ist die Verwendung der CELL-Funktion:

=CELL("filename", A1)

Diese Formel gibt den vollständigen Pfad sowie den Dateinamen zurück. Um nur den Pfad zu extrahieren, kannst du die LINKS- und FINDEN-Funktionen kombinieren:

=LINKS(CELL("filename", A1), FINDEN("[", CELL("filename", A1)) - 1)

Diese Formel funktioniert jedoch nur, wenn die Datei gespeichert ist und die Zelle A1 referenziert.


Praktische Beispiele

  1. Pfad ohne Dateiname in einer Zelle einfügen: Verwende die oben genannte Formel in einer Zelle, um den Pfad zu erhalten:

    =LINKS(CELL("filename", A1), FINDEN("[", CELL("filename", A1)) - 1)
  2. VBA zur Automatisierung: Du kannst den VBA-Code erweitern, um den Pfad direkt in eine Zelle einzufügen:

    Sub InsertPathWithoutFilename()
       Dim path As String
       path = Left(ThisWorkbook.Path, InStrRev(ThisWorkbook.Path, "\") - 1)
       Range("A1").Value = path
    End Sub

Tipps für Profis

  • Wenn du regelmäßig mit Dateipfaden arbeitest, speichere die VBA-Funktionen in deiner persönlichen Arbeitsmappe (PERSONAL.XLSB), um sie in jedem neuen Workbook nutzen zu können.
  • Nutze Kommentare im Code, um deine Funktionen zu dokumentieren, damit du und andere Nutzer später leichter verstehen, was der Code bewirken soll.
  • Experimentiere mit der FileDialog-Objekt in VBA, um Benutzern die Möglichkeit zu geben, einen Ordner auszuwählen und den Pfad zu erhalten.

FAQ: Häufige Fragen

1. Wie kann ich den Dateinamen in Excel ohne Pfad einfügen? Du kannst die CELL-Funktion nutzen, um den Dateinamen zu erhalten. Verwende dafür:

=TEIL(CELL("filename", A1), FINDEN("[", CELL("filename", A1)) + 1, FINDEN("]", CELL("filename", A1)) - FINDEN("[", CELL("filename", A1)) - 1)

2. Kann ich den Pfad auch ohne VBA erhalten? Ja, du kannst die CELL-Funktion verwenden, um den Pfad in einer Zelle anzuzeigen, wie im Abschnitt "Alternative Methoden" beschrieben.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige