Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

nur letztes Wort in Zelle stehen lassen.

Betrifft: nur letztes Wort in Zelle stehen lassen. von: Wolfgang
Geschrieben am: 02.11.2012 16:21:55

Hallo,
in einer Zelle können sich mehrere Wörter befinden. Wäre denkbar, über VBA zu erreichen, dass nur das letzte Wort (Titel Anrede Vorname Nachname) in dem Beispiel der Nachname stehen bleibt und der Rest a.d. Zelle gelöscht wird? - Wenn ein Doppelname enthalten ist, also mit "-", dass dann der Bindestrich noch als Worteil mitzählt und der Doppelname dann erhalten bleibt? - Danke schon jetzt für die Rückmeldungen.
Gruß - Wolfgang

  

Betrifft: AW: nur letztes Wort in Zelle stehen lassen. von: ChrisL
Geschrieben am: 02.11.2012 16:29:17

Hi Wolfgang

Sub t()
Dim strText As String
strText = "Herr Walter S. Meier-Meierhans"

strText = Right(strText, Len(strText) - InStrRev(strText, " "))
MsgBox strText
End Sub
cu
Chris


  

Betrifft: AW: nur letztes Wort in Zelle stehen lassen. von: Wolfgang
Geschrieben am: 02.11.2012 17:21:23

Hallo Chris,
herzlichen Dank zunächst für Deine schnelle Rückmeldung. Ich habe den Code getestet, wüßte ihn aber nicht so wirklich anzupassen; In der MsgBox wird mir, wenn ich den betreffenden Text z.B. in Tabelle2, Zelle "G5" anspreche, immer der Meier-Meierhans angezeigt, obschon bei mir in der Zelle die Frau Waltraud Müller steht. Wie könnte ich den Code anpassen, dass dann in meinem Beispiel nur noch die Müller stehenbleibt oder eben bei Doppelnamen Müller-Lüdenscheid?
Gruß - Wolfgang


  

Betrifft: so richtig? von: Wolfgang
Geschrieben am: 02.11.2012 17:44:41

Hallo Chris,
habe noch weiter getestet und versucht. Bin mir nicht sicher, ob der nachstehende Code, der zwar nun läuft, auch noch eleganter (schneller) gelöst werden könnte. Danke schon jetzt wieder für Deine Rückmeldung
Gruß - Wolfgang

  • Sub t()
    Dim strText As String
    strText = Worksheets("Tabelle2").Range("G5").Value
    strText = Right(strText, Len(strText) - InStrRev(strText, " "))
    Worksheets("Tabelle2").Range("G5").Value = strText
    MsgBox strText
    End Sub




  •   

    Betrifft: passt... von: ChrisL
    Geschrieben am: 02.11.2012 19:53:09

    die MsgBox kannst natürlich weglassen, aber sonst aus meiner Sicht OK.

    cu
    Chris


      

    Betrifft: Danke Chris von: Wolfgang
    Geschrieben am: 03.11.2012 07:46:34

    Hallo Chris,
    Danke für Deine Rückantwort und auch nochmals danke für den Code.
    Gruß - Wolfgang


     

    Beiträge aus den Excel-Beispielen zum Thema "nur letztes Wort in Zelle stehen lassen."