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

Pfad zerlegen

Forumthread: Pfad zerlegen

Pfad zerlegen
19.03.2007 19:32:01
Georg
Hallo zusammen,
wer kann mir bei folgendem Problem weiterhelfen ?
In Spalte "E" ab Zeile "14" stehen beliebig viele Einträge wie:
C:\Dokumente und Einstellungen\Admin\Desktop\Test\zeitung.doc
Ich möchte per Makro erreichen, dass in Spalte "B" ab Zeile "14"
nur noch zeitung steht. Wie geht das ?
Ich habe schonmal folgendes überlegt:
1. gehe zu Spalte "E" Zeile "14"
2. Kopiere den Inhalt in Spalte "B" Zeile "14"
3. Suche im Pfad von rechts das erste "/"
4. lösche das erste "/" und den Rest
(C:\Dokumente und Einstellungen\Admin\Desktop\Test\)
5. Lösche die letzen 4 Zeichen
6. gehe zu Spalte "E" Zeile "15" usw.
Leider habe ich keinen Plan von VBA,
vielleicht hat ja jemand eine Idee
Gruß
Georg
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Pfad zerlegen
19.03.2007 19:46:26
Josef
Hallo Georg,
so geht's per Formel.
Tabelle1

 BCDEFGHI
14Zeitung  C:\Dokumente und Einstellungen\Admin\Test\Zeitung.doc    

Formeln der Tabelle
ZelleFormel
B14=LINKS(TEIL(E14;VERWEIS(33000;FINDEN("\";E14;ZEILE(A:A)))+1;99);LÄNGE(TEIL(E14;VERWEIS(33000;FINDEN("\";E14;ZEILE(A:A)))+1;99))-4)
Excel Tabellen im Web darstellen  Excel Jeanie HTML
Und so per VBA.
Sub PfadZerlegen()
Dim rng As Range
Dim strTmp As String

On Error Resume Next
For Each rng In Range("E14:E" & Cells(Rows.Count, 5).End(xlUp).Row)
    If Len(rng) <> 0 Then
        strTmp = Mid(rng, InStrRev(rng, "\") + 1)
        rng.Offset(0, -3) = Left(strTmp, Len(strTmp) - 4)
    End If
Next
On Error GoTo 0

End Sub

Gruß Sepp
Anzeige
AW: Pfad zerlegen
19.03.2007 19:52:57
Daniel
Hallo
es geht auch ohne Makro mit dieser Formel in B14 (und dann nach unten kopieren):
=TEIL(E14;FINDEN("|";WECHSELN(E14;"\";"|";LÄNGE(E14)-LÄNGE(WECHSELN(E14;"\";""))))+1;FINDEN(".";E14)-FINDEN("|";WECHSELN(E14;"\";"|";LÄNGE(E14)-LÄNGE(WECHSELN(E14;"\";""))))) Gruß, Daniel
;
Anzeige

Infobox / Tutorial

Pfad in Excel zerlegen: So geht's


Schritt-für-Schritt-Anleitung

Um den Pfad in Excel zu zerlegen und nur den Dateinamen zu extrahieren, kannst du entweder eine Formel oder ein VBA-Makro verwenden.

Formel-Methode:

  1. Öffne Excel und gehe zu Spalte "B" ab Zeile "14".

  2. Füge folgende Formel in Zelle B14 ein:

    =LINKS(TEIL(E14;VERWEIS(33000;FINDEN("\\";E14;ZEILE(A:A)))+1;99);LÄNGE(TEIL(E14;VERWEIS(33000;FINDEN("\\";E14;ZEILE(A:A)))+1;99))-4)
  3. Ziehe die Zelle B14 nach unten, um die Formel auf die anderen Zeilen anzuwenden.

VBA-Makro-Methode:

  1. Drücke ALT + F11, um den VBA-Editor zu öffnen.

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

  3. Kopiere und füge den folgenden Code ein:

    Sub PfadZerlegen()
       Dim rng As Range
       Dim strTmp As String
       On Error Resume Next
       For Each rng In Range("E14:E" & Cells(Rows.Count, 5).End(xlUp).Row)
           If Len(rng) <> 0 Then
               strTmp = Mid(rng, InStrRev(rng, "\") + 1)
               rng.Offset(0, -3) = Left(strTmp, Len(strTmp) - 4)
           End If
       Next
       On Error GoTo 0
    End Sub
  4. Schließe den VBA-Editor und führe das Makro aus, um die Dateinamen in Spalte B einzufügen.


Häufige Fehler und Lösungen

  • Fehler: Die Formel gibt #WERT! zurück.

    • Lösung: Überprüfe, ob der Pfad in Spalte E korrekt eingegeben ist und keine überflüssigen Leerzeichen enthält.
  • Fehler: Das Makro funktioniert nicht.

    • Lösung: Stelle sicher, dass Makros in Excel aktiviert sind. Gehe zu Datei > Optionen > Sicherheitscenter > Einstellungen für das Sicherheitscenter > Makroeinstellungen.

Alternative Methoden

Eine weitere Möglichkeit, den Dateinamen zu extrahieren, ist die Verwendung der Funktion TEIL in Kombination mit FINDEN. Hier ist eine alternative Formel, die du in B14 verwenden kannst:

=TEIL(E14;FINDEN("|";WECHSELN(E14;"\";"|";LÄNGE(E14)-LÄNGE(WECHSELN(E14;"\";""))))+1;FINDEN(".";E14)-FINDEN("|";WECHSELN(E14;"\";"|";LÄNGE(E14)-LÄNGE(WECHSELN(E14;"\";"")))))

Diese Formel funktioniert ebenfalls und ist eine gute Option, wenn du keine VBA-Kenntnisse hast.


Praktische Beispiele

Angenommen, du hast in Spalte E folgende Pfade:

  • C:\Dokumente und Einstellungen\Admin\Desktop\Test\zeitung.doc
  • C:\Benutzer\Anna\Bilder\Urlaub.jpg

Nach Anwendung der Formel oder des VBA-Makros in Spalte B sollten die Ergebnisse so aussehen:

  • zeitung
  • Urlaub

Diese Methoden sind nützlich, um Dateinamen schnell und effizient aus langen Pfaden zu extrahieren.


Tipps für Profis

  • Wenn du regelmäßig mit Dateipfaden arbeitest, könnte es sich lohnen, die VBA-Methode zu automatisieren, indem du das Makro an einen Button in deiner Excel-Datei bindest.
  • Nutze die Funktion SVERWEIS oder INDEX und VERGLEICH, um die Dateinamen in anderen Tabellen zu referenzieren, falls du mit mehreren Datenquellen arbeitest.

FAQ: Häufige Fragen

1. Frage
Kann ich die Formel auch in anderen Excel-Versionen verwenden?
Antwort: Ja, die oben genannten Formeln funktionieren in den meisten Excel-Versionen, die die Funktionen LINKS, TEIL, und FINDEN unterstützen.

2. Frage
Was mache ich, wenn mein Pfad mehr als einen Dateinamen enthält?
Antwort: Du kannst die Formel anpassen, um die gewünschte Position oder den gewünschten Dateinamen zu extrahieren. Achte darauf, wie viele Schrägstriche (\) im Pfad vorhanden sind.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige