2009-05-28 8 views
0

Ich habe ein Excel-Dokument, das eine einzelne Spalte mit Strings (etwa 400 Zeilen) hat. Ich habe auch ein Word-Dokument, das diese Zeichenfolgen im Excel-Dokument enthalten kann oder nicht. Wie kann ich Excel für jede Zeile in dieser einzelnen Spalte eine Suche in diesem Word-Dokument durchführen lassen und die Häufigkeit abrufen, mit der die angegebene Zeichenfolge angezeigt wird? Ich habe nur Office 2003.Lassen Sie Excel 2003 eine Suche in einem Word-Dokument durchführen und die Anzahl der Vorkommen zurückgeben

Vielen Dank!

Antwort

2

Hier ist ein Beispiel Excel-Makro, das die Anzahl der Übereinstimmungen zählt und schreibt es neben den gesuchten Zeichenfolgen. Ich habe es mit Office 2007 versucht, aber es sollte auch mit 2003 funktionieren. Das Makro verwendet reguläre Ausdrücke, daher müssen Sie Ihrem VBA-Projekt einen Verweis auf die Bibliothek "Microsoft VBScript Regular Expressions" hinzufügen (Visual Basic-Editor -> Tools -> References).

Sub GetMatchCount() 
    Dim Text, i, re 

    ' Replace with your Word document name 
    Const WordFileName = "C:\Test.doc" 

    With CreateObject("Word.Application") 
    .Documents.Open (WordFileName) 
    Text = .ActiveDocument.Range.Text 
    .Quit 
    End With 

    Set re = New RegExp 
    re.Global = True 

    With ActiveSheet.UsedRange 
    For i = 1 To .Rows.Count 
     re.Pattern = .Cells(i, 1).Value 
     .Cells(i, 2).Value = re.Execute(Text).Count 
    Next 
    End With 
End Sub 
+0

Das tat genau das, was ich wollte. VIELEN DANK! –