Hi,
ich möchte eine Liste aus Wörtern einer Spalte in vielen Zeilen abgleichen mit einem Text in Word. Die Wörter der Excel-Spalte sollen in dem Word-Text so markiert werden, dass ich sie selektieren bzw. markieren kann. In den Zeilen der Excel-Liste stehen zum Teil einzelne Wörter, zum Teil aber auch mehrere Wörter, die 1:1 manchmal auch in Word vorkommen. Folgendes VBA habe ich dazu gefunden:
Sub mytest5()
Dim myRange As Range, AktWord As Variant
Dim AllWord() As String, iWord As Long, Found As Boolean
Dim TmpStr As String
Set myRange = ActiveDocument.Range
' Exceldaten aus offener Arbeitsmappe einlesen
' Aktuell 1. Spalte Zeile 1-200
Dim xlApp As Object ' Excel.Application
Dim SuchRange As Object, AktZelle As Object
Set xlApp = GetObject(, "Excel.Application")
Set SuchRange = xlApp.Range("A1:A200")
With SuchRange
For Each AktZelle In SuchRange
ReDim Preserve AllWord(iWord)
AllWord(iWord) = AktZelle
iWord = iWord + 1
Next
End With
' Worddokument durchsuchen und Wörter Rot färben
Set myRange = ActiveDocument.Range
With myRange
For Each AktWord In .Words
TmpStr = Trim(AktWord.Text)
For iWord = 0 To UBound(AllWord)
If TmpStr = AllWord(iWord) Then
AktWord.Font.Color = wdColorRed
End If
Next
Next
End With
Set SuchRange = Nothing
Set myRange = Nothing
End Sub
Ich kann es aber leider nicht durchlaufen lassen, VBA sagt mir, dass ein Laufzeitfehler (424) vorhanden ist. Könnt Ihr mir sagen, was ich hier falsch mache? Habe leider kaum Ahnung von VBA ... noch nicht ...
Liebe Grüße
Thomas
|