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

Übergeordneter Ordner aus Pfad auslesen

Forumthread: Übergeordneter Ordner aus Pfad auslesen

Übergeordneter Ordner aus Pfad auslesen
Robert
Servus Excel-Freunde,
ich habe eben folgendes Problem:
Per VBA lese ich den Pfad des aktiven Workbook aus.
Als Ergebnis erhalte ich z.B. "D:\Tabellen\Programmierung\VBA"
Jetzt möchte ich wissen, wie ich nur aus dieser Pfadangabe nur das Übergeordnete Verzeichnis angezeigt bekomme.
In diesem Fall also "VBA"
Das Problem ist, das der komplette Pfad variert. Wäre der Pfad immer gleich, würde ich einfach die festen Pfadangaben löschen.
Weiß jemand Rat?
Viele Grüße
Robert
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Übergeordneter Ordner aus Pfad auslesen
15.01.2011 18:27:35
Josef

Hallo Robert,
das geht z. B. so.

Sub folder()
  Dim strPath As String, strLastFolder As String
  
  strPath = "D:\Tabellen\Programmierung\VBA"
  
  strPath = IIf(Right(strPath, 1) = "\", Left(strPath, Len(strPath) - 1), strPath)
  
  strLastFolder = Mid(strPath, InStrRev(strPath, "\") + 1)
  
  MsgBox strLastFolder
End Sub

Gruß Sepp

Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Übergeordneter Ordner aus Pfad auslesen


Schritt-für-Schritt-Anleitung

Um den übergeordneten Ordner aus einem Pfad in Excel mittels VBA auszulesen, kannst du den folgenden Code verwenden:

Sub folder()
    Dim strPath As String, strLastFolder As String

    strPath = "D:\Tabellen\Programmierung\VBA"

    strPath = IIf(Right(strPath, 1) = "\", Left(strPath, Len(strPath) - 1), strPath)

    strLastFolder = Mid(strPath, InStrRev(strPath, "\") + 1)

    MsgBox strLastFolder
End Sub
  1. Öffne den VBA-Editor: Drücke ALT + F11.
  2. Füge ein Modul hinzu: Klicke auf Einfügen > Modul.
  3. Kopiere den obigen Code in das Modul.
  4. Schließe den VBA-Editor und kehre zu Excel zurück.
  5. Starte das Makro: Drücke ALT + F8, wähle folder und klicke auf Ausführen.

Dieser Code speichert den Pfad in der Variable strPath und verwendet die Funktion InStrRev, um den übergeordneten Ordner aus dem Pfad auszulesen.


Häufige Fehler und Lösungen

  • Fehler: "Typ Mismatch"
    Lösung: Stelle sicher, dass die Variable strPath als String deklariert ist.

  • Fehler: "Subscript out of range"
    Lösung: Überprüfe, ob der Pfad korrekt und zugänglich ist.


Alternative Methoden

Eine alternative Methode, um den übergeordneten Ordner aus dem Pfad auszulesen, ist die Verwendung von Excel-Formeln:

  1. Verwende die Formel:
    =RECHTS(A1;LÄNGE(A1)-FINDEN("~";WECHSELN(A1;"\";"~";(LÄNGE(A1)-LÄNGE(WECHSELN(A1;"\";"")))))) 

    In dieser Formel wird angenommen, dass der Pfad in Zelle A1 steht.


Praktische Beispiele

Wenn du den Pfad "D:\Tabellen\Programmierung\VBA" verwendest, gibt der VBA-Code "VBA" als übergeordneten Ordner zurück.

Ein weiteres Beispiel könnte so aussehen:

  1. Pfad: "C:\Benutzer\Max\Dokumente\Projekte"
  2. Erwartete Ausgabe: "Projekte"

Tipps für Profis

  • Verwende die FileSystemObject-Bibliothek: Damit kannst du noch flexibler mit Dateipfaden umgehen.
  • Fehlerbehandlung: Füge Error-Handling zu deinem VBA-Code hinzu, um unerwartete Fehler abzufangen.
On Error Resume Next
' Dein Code hier
If Err.Number <> 0 Then
    MsgBox "Ein Fehler ist aufgetreten."
End If
On Error GoTo 0

FAQ: Häufige Fragen

1. Wie kann ich den Pfad des aktiven Workbooks in VBA auslesen?
Du kannst den Pfad mit ThisWorkbook.Path abrufen.

2. Was mache ich, wenn mein Pfad Leerzeichen enthält?
Der Code funktioniert unabhängig von Leerzeichen im Pfad. Es wird jedoch empfohlen, den Pfad in Anführungszeichen zu setzen, wenn du ihn manuell in den Code eingibst.

3. Kann ich das auch ohne VBA machen?
Ja, du kannst auch Excel-Formeln verwenden, um den übergeordneten Ordner zu extrahieren, 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