Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1832to1836
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Excel Suchwörter in geöffneter Word

Excel Suchwörter in geöffneter Word
10.06.2021 14:00:21
stef26
Hallo liebe Excelprofis,
ich könnte bei einem Problem gut eure Unterstützung brauchen.
Ich habe in meiner geöffneten Excelliste in dem Sheet "Suchen" in der Range A1 bis A200 Nummern stehen.
Zudem habe ich ein geöffnetes Word Dokument.
Ich bräuchte nun ein Makro, welches mir die Nummern in der Word Datei sucht und wenn gefunden wurde in der Spalte B in der entsprechenden Zeile ein OK rein schreibt,
so dass ich dann in Excel mir alle enthaltenen Nummern filtern kann.
Da hab ich einige zu durchsuchen, würde dies nur ungern manuell machen...
Ich hab das Netz schon durchsucht und nichts passendes gefunden was ich selber umsetzen könnte.
Liebe Grüße
Stefan

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel Suchwörter in geöffneter Word
10.06.2021 17:11:52
Matthias
Moin!
Hier mal ein Beispiel. Damit wird Word geöffnet und die Datei geladen (PFad anpassen). Dann wird der ganze Text ausgelesen. Anschließend in einer Schelife durch alle Zeilen gehen. Das habe ich dann nur angedeutet.

Sub prüfen()
Set objWDApp = CreateObject("Word.Application")
objWDApp.Visible = True
Set objDoc = objWDApp.Documents.Open("mein pfad zu word datei")
inhalt = objDoc.Content
objDoc.Close
objWDApp.Quit
For zeile = 1 To 100
If InStr(1, inhalt, Cells(zeile, 1), vbTextCompare) > 0 Then
Cells(zeile, 2) = "vorhanden"
End If
Next
End Sub
VG
Anzeige
AW: Excel Suchwörter in geöffneter Word
10.06.2021 17:35:13
Yal
Hallo Stefan,
irgendwie in der Nähe von sowas:

Sub test()
Dim D As Document 'Word.Document
Dim R As Object
Dim Z As Range
Const cWDatei = "C:\Temp\H_for\Test.docx"
Set D = Word.Documents.Open(cWDatei, True)
Set R = D.Content
With Worksheets("Tabelle1")
For Each Z In .Range(.Range("A1"), .Range("A9999").End(xlUp)).Cells
If R.Find.Execute(Findtext:=Z.Value, MatchCase:=False, MatchWholeWord:=True) Then Z.Offset(0, 1) = "gefunden"
Next
End With
Set R = Nothing
D.Close False
Set D = Nothing
End Sub
VG
Yal
Ergänzung/Korrektur
10.06.2021 22:30:37
Yal
Hallo Stefan,
man muss den Parameter Wrap auf wdFindContinue einstellen, um sicherstellen, dass das ganze Dokument durchgesucht wird.

Sub test()
Dim D As Document 'Word.Document
Dim R As Object
Dim Z As Range
Const cWDatei = "C:\Temp\H_for\Test.docx"
Set D = Word.Documents.Open(cWDatei, True)
Set R = D.Content
With Worksheets("Tabelle1")
For Each Z In .Range(.Range("A1"), .Range("A9999").End(xlUp)).Cells
If R.Find.Execute(Findtext:=Z.Value, MatchCase:=False, MatchWholeWord:=True, Wrap:=wdFindContinue) Then Z.Offset(0, 1) = "gefunden"
Next
End With
Set R = Nothing
D.Close False
Set D = Nothing
End Sub
Ich benutze dabei ein "early bindung": unter Extras > Verweise auf "Microsoft Word 16.0 Object Library" einhacken. Sonst CreateObject Verwenden (late binding)
VG
Yal
Anzeige
DANKESCHÖN
11.06.2021 07:05:02
stef26
Dankeschön euch Beiden. Funktioniert super und ich spar mir jede Menge Zeit.
Super Forum!
:-) :-) :-)
Vielen Dank für die Rückmeldung. oT
11.06.2021 09:23:57
Yal

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige