Excel: letztes Vorkommen eines Zeichens ersetzen: /aa/bb/cc --> /aa/bb cc

Kryptaesthesie

Erfahrenes Mitglied
Guten Morgen.
Ich habe eine Zelle in der etwas mit folgendem Aufbau steht:
/aa/bb/cc

Ich würde nun gerne den letzten Slash durch ein Leerzeichen ersetzen, um folgendes Ergebnis zu bekommen:
/aa/bb cc

Das ganze soll per Formel passieren. Also das Ergebnis soll in einer anderen Zelle erscheinen.
Wie frage ich ab, ob überhaupt ein Slash in der Quell-Zelle vorhanden ist?

Danke schon mal für eure Hilfe! :)

MfG Gerrit



Nachtrag: es ist nicht immer der zweite Slash, der ersetzt werden muss! Es gibt auch Pfade wie diesen: /aa/bb/cc/dd/ee/ff ...
 
Zuletzt bearbeitet:
Hi,

ob Slash's in einer Zelle vorhanden sind kannst du so nachschauen:
(in die Variable Inhalt - ein String - muss der Inhalt der Zelle rein)

Code:
    If InStr(1, Inhalt, "/") Then
        MsgBox "Es sind Slash's vorhanden"
    Else
        MsgBox "Es sind keine Slash's vorhanden"
    End If

Das letzte Zeichen von Inhalt durch ein neues ersetzen, geht so
(in Finden steht das WAS du ersetzen willst,
in Ersetzen steht das DURCH WAS du es ersetzen willst):

Code:
    Dim Finden, Ersetzen As String
    Finden = "/"
    Ersetzen = " "
    For i = 1 To Len(Inhalt)
        If Mid$(Inhalt, i, 1) = Finden Then
            Pos = i
        End If
    Next i
    MsgBox Left$(Inhalt, Pos - 1) & Ersetzen & Right$(Inhalt, Len(Inhalt) - Pos)

Grüße
 
Schönen Dank so weit :)
Aber sollte sich mein Problem nicht ohne VBA lösen lassen?
Das müsste doch mit einer geschachtelten Formel auch gehen?!

Wie frage ich ab, an welcher Position das Vorkommen des letzten Zeichens ist? Das kann Excel doch bestimmt... einen String rückwärts nach einem Zeichen suchen.
Wenn ich die Position habe, kann ich ja den Ersetzen-Befehl nehmen und als Start die Position-1 machen.

Aber wie frage ich das letzte Vorkommen eines Zeichens ab? :confused:


MfG Gerrit
 
Hai,

wenn du weisst wie häufig den " / " vorkommt, hilft dir dies weiter :

=WECHSELN(A1;"/";" ";3)

In A1 steht dein Text, " / " wird durch ein Leerzeichen ersetzt. Die drei steht für das dritte auftreten des Zeichens.

Ciao Stefan
 
Hai,

=WECHSELN(A1;"/";" ";(LÄNGE(A1)-LÄNGE(WECHSELN(KLEIN(A1);"/";))))

das sollte die Lösung sein.

Ciao Stefan
 
Zurück