Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
172to176
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
172to176
172to176
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Bestimmtes Zeichen in einem String rückwärtssuchen

Bestimmtes Zeichen in einem String rückwärtssuchen
28.10.2002 14:14:50
Steffen D
folgendes:
ich habe folgenden String:

Pfad="\\Ntserver\temp\Mappe1.xls"

nun möchte ich um die Datei (Mappe1.xls) eckige Klammer machen (Ziel: externe Bezüge)
dann müsste es so aussehen:
Pfad = "\\Ntserver\temp\[Mappe1.xls]"

das ganze möchte ich in einem Makro machen, also bitte in VBA

thx

Steffen D

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Bestimmtes Zeichen in einem String rückwärtssuchen
28.10.2002 14:24:00
Harald Kapp
Hallo Steffen,
suche in einer ersten Schleife mit Instr() so lange den Backslash (\), bis Du ihn nicht mehr findest. Mit der letzten Fundstelle +1 hast Du dann den Anfang des Dateinamens (Mappe1.xls). Dann brauchst Du nur noch aus der Länge des ursprünglichen Strings minus Fundstelle des Backslash mitels Right() den Dateinamen zu extrahieren. Aus den Einzelteilen kannst Du Dir dann den neuen Strin zusammen bauen.

Gruß Harald

Re: Bestimmtes Zeichen in einem String rückwärtssuchen
28.10.2002 14:30:40
Norbert
Hi Steffen,

Du kannst es auch mit StrReverse(Zeichenfolge) machen. Das Beispiel ermittelt die Postion des letzten Backslash.

Sub p_RightSearch()
Dim strSuchZF As String
strSuchZF = "\\Ntserver\temp\Mappe1.xls"
strSuchZF = StrReverse(strSuchZF)
Debug.Print Len(strSuchZF) - InStr(1, strSuchZF, "\", vbTextCompare) + 1
End Sub


ciao Norbert

Anzeige
Re: Bestimmtes Zeichen in einem String rückwärtssuchen
28.10.2002 18:31:05
Peter Feustel
Hallo Steffen,

meine Version deines VBA Makros sieht folgendermaßen aus:

' im String "\\Ntserver\temp\Mappe1.xls" soll die Position des rechten "\"
' gefunden werden, um die dahinter folgenden Zeichen "Mappe1.xls" in []
' einschzuließen.

Sub Suchen_von_rechts()
'
Dim strAlt As String
Dim intLgAlt As Integer
Dim intPos As Integer
Dim strZeichen As String * 1
Dim strNeu As String

strAlt = "\\Ntserver\temp\Mappe1.xls" ' den String festlegen
Rem strAlt = "hier_fehlt_der_backslash" ' Test-String - wird komplett in [] gesetzt
intLgAlt = Len(strAlt) ' die Länge des Strings ermitteln
' die Position des Zeichens '\' ermitteln
For intPos = intLgAlt To 1 Step -1
strZeichen = Mid(strAlt, intPos, 1)
If strZeichen = "\" Then
Exit For
End If
Next intPos
' das Ergebnis anzeigen
MsgBox "im String >>>" & strAlt & "<<< ist die Position des letzten '\' auf " & intPos, _
64, "Zeichen von rechts suchen"
' den neuen String erzeugen
strNeu = Mid(strAlt, 1, intPos) & "[" & Mid(strAlt, intPos + 1, intLgAlt - intPos) & "]"
' das Ergebnis anzeigen
MsgBox "der umgeformte String ist >>>" & strNeu & "<<<", 64, "neuer String"

'
End Sub


Gruß, Peter

Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige