Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Replace: nur letztes Zeichen entfernen

Replace: nur letztes Zeichen entfernen
13.06.2016 14:54:14
Franz
Hallo Fachleute,
ich möchte per VBA aus einem String das allerletzte Zeichen entfernen:
einfaches Beispiel: aus "am Jahrestag a" soll werden "am Jahrestag "
ich versuche es mit:
txtBes = Replace(txtBes, Right(txtBes, 1), ""):
hiermit wird aber nicht nur das letzte Zeichen "a" entfernt, sondern jedes "a" wird entfernt so oft es vorkommt:
aus "am Jahrestag a" wird "m Jhrestg "
Wie kann ich das machen, damit wirklich nur das letzte Zeichen entfernt wird?
Danke schonmal für Eure Hilfe und Grüße
Franz

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Replace: nur letztes Zeichen entfernen
13.06.2016 14:58:44
Daniel
Hi
letztes Zeichen abschneiden:
txtBes = Left(txtBes, Len(txtBes) - 1)
Gruß Daniel

AW: Replace: nur letztes Zeichen entfernen
13.06.2016 15:03:01
Franz
Hallo Daniel,
ja toll, ganz anderes Rangehen. Und ich kapier's sogar :-))
Danke und Grüße
Franz
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Letztes Zeichen in Excel oder VBA entfernen


Schritt-für-Schritt-Anleitung

Um das letzte Zeichen in einem String mit VBA zu entfernen, kannst du die folgende Methode verwenden:

  1. Öffne den VBA-Editor in Excel (Alt + F11).

  2. Erstelle ein neues Modul (Rechtsklick auf „VBAProject“ > Einfügen > Modul).

  3. Füge den folgenden Code ein:

    Sub LetztesZeichenEntfernen()
       Dim txtBes As String
       txtBes = "am Jahrestag a" ' Beispielstring
       txtBes = Left(txtBes, Len(txtBes) - 1) ' Entfernt das letzte Zeichen
       MsgBox txtBes ' Zeigt den neuen String an
    End Sub
  4. Führe das Makro aus, um das letzte Zeichen zu entfernen.

Mit dieser Methode wird nur das letzte Zeichen des Strings entfernt, was die richtige Lösung für dein Anliegen ist.


Häufige Fehler und Lösungen

Fehler: Das gesamte Zeichen wird gelöscht.

  • Lösung: Stelle sicher, dass du Left(txtBes, Len(txtBes) - 1) verwendest und nicht Replace, da Letzteres alle Vorkommen eines Zeichens entfernt.

Fehler: Der String ist leer oder sehr kurz.

  • Lösung: Überprüfe die Länge des Strings, bevor du das letzte Zeichen entfernst, um Fehler zu vermeiden:

    If Len(txtBes) > 0 Then
       txtBes = Left(txtBes, Len(txtBes) - 1)
    End If

Alternative Methoden

Du kannst auch Excel-Formeln verwenden, um das letzte Zeichen einer Zelle zu entfernen. Hier sind einige Optionen:

  • Formel für das letzte Zeichen löschen:

    =LINKS(A1;LÄNGE(A1)-1)
  • Letzte zwei Zeichen entfernen:

    =LINKS(A1;LÄNGE(A1)-2)

Diese Formeln sind nützlich, wenn du die Bearbeitung direkt in Excel bevorzugst, ohne VBA zu verwenden.


Praktische Beispiele

  1. Letztes Zeichen löschen in einer Zelle: In Zelle A1 steht „Testa“. Verwende die Formel:

    =LINKS(A1;LÄNGE(A1)-1) 

    Das Ergebnis in der Zelle wäre „Test“.

  2. Die letzten drei Zeichen entfernen:

    =LINKS(A1;LÄNGE(A1)-3)

    Wenn A1 „Testabc“ enthält, wird das Ergebnis „Test“ sein.


Tipps für Profis

  • Verwende Trim in VBA, um sicherzustellen, dass keine Leerzeichen beim Entfernen des letzten Zeichens stören:

    txtBes = Trim(txtBes)
  • Für komplexe Anforderungen, wie das Entfernen des letzten Zeichens nur, wenn es ein bestimmtes Zeichen ist (z. B. ein Leerzeichen), kannst du eine Bedingung einfügen:

    If Right(txtBes, 1) = " " Then
       txtBes = Left(txtBes, Len(txtBes) - 1)
    End If

FAQ: Häufige Fragen

1. Wie kann ich das letzte Zeichen in einer Zelle löschen? Du kannst die Excel-Formel =LINKS(A1;LÄNGE(A1)-1) verwenden, um das letzte Zeichen zu entfernen.

2. Kann ich mehrere Zeichen am Ende eines Strings entfernen? Ja, du kannst die Anzahl der zu entfernenden Zeichen in der Formel anpassen, z. B. =LINKS(A1;LÄNGE(A1)-2) für die letzten zwei Zeichen.

3. Wie entferne ich das letzte Zeichen in einem VBA-Skript? Verwende txtBes = Left(txtBes, Len(txtBes) - 1) in deinem VBA-Code, um das letzte Zeichen eines Strings zu löschen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige