Hallo Erich,
erstmal Respekt dass du dich in deinem hohen Alter noch mit VBA-Programmierung beschäftigst. Finde ich besser als irgendwelche Gedächtnisspiele, deren Ergebnisse man nach kurzer Zeit entweder auswendig kennt oder immer wieder vergisst. Wenn ich mal dein Alter erreiche, werde ich auch versuchen, durch Programmierung (evtl. in einer weiteren neuen Sprache) fit im Kopf zu bleiben.
Nun zu deinem Problem: Du durchsuchst erneut das gesamte Dokument nach Treffern, obwohl du eigentlich nur jeden Absatz einmal durchsuchen willst. Wie du die Absätze mit einer Schleife durchläufst hab ich dir ja gestern gezeigt. Genauso würde ich es wieder machen. Dann ist gesichert, dass zum nächsten Absatz gesprungen wird, egal ob nun ein Treffer gefunden und verändert wurde oder nicht. Du musst also nur statt ActiveDocument.Range den Range im jeweiligen Paragraphen durchsuchen.
Irgendwie werd ich das Gefühl nicht los, dass du hier Übungsaufgaben absolvierst. Dir dann einen weiteren fertigen Code vorzusetzen wäre demnach kontraproduktiv. Vielleicht probierst du erstmal meinen Tipp selbst, bevor ich dir die Lösung verrate.
Gruß Mr. K.
|