Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1144to1148
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
Inhaltsverzeichnis

string trennen von recht bei

string trennen von recht bei
recht
Hallo Zusammen hab mir nen Wolf gesucht und find da nix vernünfiges zu
ich habe einen Dateipfad mit Namen und möchte den in Dir und Namen trennen
Bsp.:
C:\Dokumente\Tabelle.xls
Ergebnis
c:\Dokumente\ Tabelle.xls
Dieser String trägt bei mir die Variable Datenbpfadname
jetzt dacht ich ich könnte das so tennen
i=datenbpfadname.lastindexof("\")
datenbname=right(datenbpfadname,i)
datenbpfad=left(datenbpfadname,(leng(datenbpfadname)-i))
aber lastindexof kennt der nicht
Was kann ich tun?
AW: string trennen von recht bei
14.03.2010 15:26:46
recht
Hallo Dirk,
das sollte weiterhelfen
Sub TrennePfad()
Dim Verzeichnis, PosVerzeichnis As String
Dim AnzahlPfadtrenner, i As Byte
Dim Pos1 As Integer
Verzeichnis = ThisWorkbook.path
AnzahlPfadtrenner = UBound(Split(Verzeichnis, "\"))
Pos1 = 1
For i = 1 To AnzahlPfadtrenner
Pos1 = (InStr(Pos1, Verzeichnis, "\", 1))
If Pos1 = 0 Then
Exit For
Else
Pos1 = Pos1 + 1
PosVerzeichnis = Left(Verzeichnis, Pos1 - 1)
End If
MsgBox PosVerzeichnis
Next
End Sub

Gruß SP
AW: string trennen von recht bei
14.03.2010 17:10:59
recht
hallo ihr beiden
beide vorschläge zählen von links das hilt mir also nicht weiter
ich denk ich werd das mal mit nem anderen ansatz versuchen
leng-1
if leng-(leng-1) = \
sowas in der art
dennoch danke
Anzeige
AW: string trennen von recht bei
14.03.2010 17:34:26
recht
Hi Dirk,
Sub test()
Dim PfadUndDateiname As String
Dim Dateiname As String
Dim Pfad As String
PfadUndDateiname = "C:\Dokumente\Tabelle.xls"
Dateiname = Right(PfadUndDateiname, Len(PfadUndDateiname) - InStrRev(PfadUndDateiname, "\"))
Pfad = Left(PfadUndDateiname, Len(PfadUndDateiname) - InStrRev(PfadUndDateiname, "\")) & "\"
MsgBox Pfad
MsgBox Dateiname
End Sub
Gruß Jürgen
nicht ganz
14.03.2010 18:02:27
Erich
Hi Jürgen,
teste deine Routine doch mal mit dem Pfad "C:\Doooookumente\Tabelle.xls",
da kommen die "mente" nicht mehr an...
Eine Alternative:

Sub Zerleg()
Dim strPfad As String
Dim lngP As Long
Dim strDatei As String
Dim strVerz As String
strPfad = "C:\Doooookumente\Tabelle.xls"
lngP = InStrRev(strPfad, "\")
strVerz = Left(strPfad, lngP)
strDatei = Right(strPfad, Len(strPfad) - lngP)
MsgBox strVerz
MsgBox strDatei
End Sub
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
Was ist denn nun dabei das Problem,...
14.03.2010 19:54:16
Luc:-?
…Dirk,
das ist doch gut so! Path = Left(pfadstring, i) und File = Right(pfadstring, Len(pfadstring) - i)
Kopfschüttelnder Gruß, Luc :-?
AW: warum so kompliziert?
14.03.2010 21:55:40
Daniel
File = Mid(pfadstring, i+1)
tuts doch auch.
Gruß, Daniel
AW: Sicher!
16.03.2010 01:27:30
Luc:-?
:-?
AW: string trennen von recht bei
14.03.2010 21:48:20
recht
Hallo nochmal,
nun ja ob nun von rechts oder links
Wenn bei For i = 1 To AnzahlPfadtrenner "-1 oder -2 steht geht das doch auch?"
Gruß SP
Statt 'lastindexof("\")' musst/kannst du...
14.03.2010 15:50:41
Luc:-?
…in VBA InstrRev(…, "\") verwenden, Dirk,
also hier i = InstrRev(datenbpfadname, "\"). Gezählt wird hierbei auch nicht von rechts, sondern wie üblich von links.
Gruß Luc :-?
Anzeige
AW: Statt 'lastindexof("\")' musst/kannst du...
15.03.2010 12:56:04
Dirk
erstenmal vielen dank an alle
dann
hallo Luc:-?
wenn der code mir die letzte position von "\" angibt geht das ja auch
(der als erstes gepostete Code gibt mir bei einem etwas längerem Verzeichnisss zich Ergebnisse as)
mein Problem war nur am anfange: wie ich dem vernüftig "erklähre", dass er den letzten nehmen muss.
deshalb war halt die überlegung mit lastindexof gewesen (den es ja nicht gibt unter VB6).
fürs erste hab ich den code drin
i = 5                                       '#.xls
min = Len(Datenbpfadname)
min = min - i
Dim stops As String
stops = Right(Left(Datenbpfadname, min), 1)
Do While stops  "\"
i = i + 1
min = min - 1
stops = Right(Left(Datenbpfadname, min), 1)
Loop
datenbpfad = Left(Datenbpfadname, min)
datenbname = Right(Datenbpfadname, i)
ich versuch das mal mit
i = InstrRev(datenbpfadname, "\")
vielen Dank
Anzeige
AW: string trennen von recht bei
15.03.2010 13:09:14
recht
Schönen Dank Jürgen, Erich G. und Luc:-?,
mit dem Befehl InStrRev hab ich das jetzt gemacht klappt echt gut und spart viele zeilen von meinem aufwendigem code.
viele Dank

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige