Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
852to856
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
852to856
852to856
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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

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

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige