ich möchte in einem String, zwei aufeinander folgende identische Zeichen löschen.
Also, wenn in der Zelle A1:"Hallo" steht, soll in B1:"Halo".
Hat jemand eine Idee, wie man das mit einem Marko lösen kann?
VG
Armin
txt1 = Range("A1").Value
txt2 = Left(txt1, 1)
For i = 2 to len(txt1)
If Mid(txt1, i, 1) Mid(txt1, i - 1, 1) then
txt2 = txt2 & Mid(txt1, i, 1)
End if
Next
Range("B1").value = txt2
Gruß DanielUm doppelte Zeichen in einem String zu löschen, kannst du ein einfaches VBA-Makro verwenden. Folge diesen Schritten:
Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
Klicke auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.
Füge den folgenden VBA-Code in das Modul ein:
Sub EntferneDoppelteZeichen()
Dim txt1 As String
Dim txt2 As String
Dim i As Integer
txt1 = Range("A1").Value
txt2 = Left(txt1, 1)
For i = 2 To Len(txt1)
If Mid(txt1, i, 1) <> Mid(txt1, i - 1, 1) Then
txt2 = txt2 & Mid(txt1, i, 1)
End If
Next i
Range("B1").Value = txt2
End Sub
Schließe den VBA-Editor und gehe zurück zu Excel.
Gib in Zelle A1 den Text ein, aus dem du die doppelten Zeichen entfernen möchtest.
Drücke ALT + F8, wähle EntferneDoppelteZeichen aus und klicke auf Ausführen.
Der bereinigte String erscheint in Zelle B1.
Fehler: "Typenkonflikt"
Fehler: Makro funktioniert nicht
Datei > Optionen > Trust Center und passe die Einstellungen an.Wenn du kein VBA verwenden möchtest, kannst du auch eine Formel anwenden. Eine Möglichkeit ist die Verwendung von Hilfsspalten, um die Zeichen zu überprüfen und sie entsprechend zu kombinieren. Diese Methode ist jedoch umständlicher und nicht so effizient wie ein Makro.
1. Wie kann ich das Makro anpassen? Du kannst den Code modifizieren, um spezifische Zeichen zu entfernen, indem du zusätzliche Bedingungen hinzufügst.
2. Funktioniert das auch in Excel für Mac? Ja, das VBA-Makro sollte auch in Excel für Mac funktionieren, solange die Makros aktiviert sind.