Macro in Word, Wörter finden - Vergleichen - Farblich markie (Office)

Alex_Decker_Macro @, Dienstag, 09.06.2020, 12:29 (vor 63 Tagen)

Liebe Community,

ich habe gerade Probleme foldende Aufgaben zu lösen, weil ich nie mit Macro in Word gearbeitet hatte. In Word Datei gib es zwei Spalten: Linke Spalte hat eine Testergebnisse von Altsystemen und rechte Spalte hat Testergebnisse von Neusystemen.

Aufgabenstellung: In Word ist nach "@[Zahlenfolge]@" zu suchen. Diese stellen markiere in beiden (rechte und linke) Spalten. Die Zahlenfolge gibt an wieviele Bytes an Umsätzen zurückgeliefert wurde. Wenn Rechts und links die Zahlen übereinstimmen dann deutet das auf eine korrekte Verarbeitung in beiden Modi hin. Also im ersten Teil der Aufgabe alles wo eine Zahlenfolge zwischen zwei @-Symbolen auftaucht farblich markieren (grün = wenn links und rechts gleich sind , ansonsten rot) (jeweils als Texthintergrundfarbe).

Ich habe versucht erst nur "@[Zahlenfolge]@" aussuzuchen und grün zu markieren. Aber was ich erstellt habe hat auch nicht funktioniert. Hier fehlt die Vergleiche zwieschen Spalten.

Sub ZahlenfolgeFindenMarkieren()
Option.DefaultHighlightColorIndex = wdGreen
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormating
Selection.Find.Replacement.Hinglight =True
With Selection.Find
.Text = "@*@"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format =True
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace: = wdReplaceAll

End Sub

Könntet Ihr bitte, bitte dabei Helfen um eine Lösung zu finden? Ich wäre wirklich dankbar für jede Idee oder Hilfe.

Herzlichen Dank im Voraus und beste Grüße

Alex

Macro in Word, Wörter finden - Vergleichen - Farblich markie

Martin Asal @, Dienstag, 09.06.2020, 14:16 (vor 63 Tagen) @ Alex_Decker_Macro

Hallo Alex,

als Suchtext hast du "@*@" eingegeben. Das * soll ja ein Platzhalter (ein Wildcard) sein. Dummerweise ist das @-Zeichen ebenfalls ein Platzhalter - deswegen musst du das wie folgt "maskieren":

"\@*\@"

Für den Fall, dass zwischen den @-Zeichen wirklich ausschließlch Ziffern stehen, kannst du das außerdem wir folgt definieren:

 
"\@[0-9]*\@"
 
So, damit kannst du loslegen:
 
With Selection.Find
    .MatchWildcards = True
    .Text = "\@[0-9]*\@"
    .Execute
End With
 
Selection.Range.HighlightColorIndex = wdBrightGreen

Der Zahlenvergleich ist etwas aufwendiger: Du musst den Range erst mal vorne und hinten um 1 Zeichen verkürzen (die @-Zeichen rausnehmen), damit du nur Zahlen hast, und dann kommt es darauf an, wie dein Text aufgebaut ist. Schließlich willst du den ersten Wert mt dem zweiten vergleichen, und nicht den zweiten mit dem dritten. Wenn du also eine 2-spaltige Tabelle hast, kannst du schauen, in welcher Spalte du gerade bist.

Martin

Macro in Word, Wörter finden - Vergleichen - Farblich markie

Alex_Decker_Macro @, Mittwoch, 10.06.2020, 15:23 (vor 62 Tagen) @ Martin Asal

Hallo Martin,

herzlichen Dank für deine Hilfe. Deine Macro hat funktioniert. Allerdings komme ich mit vergleichen nicht recht. Könntest du eventuel auch dort helfen.

Ich bedanke mich sehr im Voraus und beste Grüße

Alex

Macro in Word, Wörter finden - Vergleichen - Farblich markie

Martin Asal @, Mittwoch, 10.06.2020, 17:50 (vor 62 Tagen) @ Alex_Decker_Macro

Allerdings komme ich mit vergleichen nicht recht. Könntest du eventuel auch dort helfen.


Hallo Alex,

wie gesagt, das kommt auf den Aufbau deines Worddokuments an, deswegen kann ich dir da nicht so ohne weiteres helfen.

Und wieweit bist du denn schon gekommen?

Martin

RSS-Feed dieser Diskussion
powered by my little forum