ich habe ein kleines Problem.
Ich habe eine Zelle mit Text, aus der ich mittels VBA bestimmte Zeichen löschen muss. Hierbei ist jedoch nicht das Zeichen selbst, sondern die Formatierung des Zeichens ausschlaggebend.
Beispiel:
Eine Zelle enthält überwiegend schwarzen Text, innerhalb des Textes gibt es aber rot-durchgestrichene Wörter. Diese sollen entfernt werden.
Daher arbeite ich mit der Cells.Character-Eigenschaft. Solange die Zelle Text unterhalb von 256 Zeichen beinhaltet funktioniert alles wunderbar, aber ab 257 Zeichen passiert entweder nichts oder, es gibt den Fehler 1004.
Code-Beispiel:
Sub CharDelete()
ChAnz = ActiveCell.Characters.Count
For z = 1 To ChAnz
If ActiveCell.Characters(z, 1).Font.ColorIndex = 3 _
And ActiveCell.Characters(z, 1).Font.Strikethrough = True Then
ActiveCell.Characters(z, 1).Delete
ChAnz = ChAnz - 1
z = z - 1
End If
Next
End Sub
Diese Beschränkung gilt nur die Delete-Funktion, wenn ich statt
ActiveCell.Characters(z, 1).Delete
den Befehl
ActiveCell.Characters(z, 1).Font.Bold = True
verwende, funktioniert es wunderbar auch bei mehr als 256 Zeichen.
Hat jemand eine Idee, wie ich diese Beschränkung umgehen kann. Gern auch ein anderer Lösungsansatz, immer unter Beibehaltung der unterschiedlichen Formatierung des Zell-Textes (Farbe, Form, etc.)
Danke und Gruß
Mirko