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



## Kryptaesthesie (19. Oktober 2007)

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 ...


----------



## Leola13 (19. Oktober 2007)

Hai,

entweder über die Ersetzen Funktion oder evtl. über eine wenn Funktion

Ciao Stefan


----------



## Kryptaesthesie (19. Oktober 2007)

und wie bekomme ich die Position des letzten Slash'?


MfG Gerrit


----------



## VBMichi (19. Oktober 2007)

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)


```
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):


```
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


----------



## Kryptaesthesie (19. Oktober 2007)

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? 


MfG Gerrit


----------



## Leola13 (19. Oktober 2007)

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


----------



## Leola13 (19. Oktober 2007)

Hai,

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

das sollte die Lösung sein.

Ciao Stefan


----------

