Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Label
BildScreenshot zu Label Label-Seite mit Beispielarbeitsmappe aufrufen

aus excel Worddatei nach Wert durchsuchen


Betrifft: aus excel Worddatei nach Wert durchsuchen von: Peter
Geschrieben am: 01.10.2019 07:40:16

Guten Morgen,

als Controlling benötige ich, dass die in einem Ordner befindlichen Worddateien, aufgelistet in Tabelle Worddaten SpalteC durchsucht werden. Es soll dort geprüft werden, ob ein bestimmter Wert vorhanden ist.

Ist dieser vorhanden soll ein Button deaktiviert werden und eine Meldung in Label Wert bereits benutzt. Andernfalls soll Makro ausgeführt werden.

Am besten wäre es, wenn hierbei die Worddateien nicht geöffnet werden sondern die geschlossenen Dateien überprüft werden.

Könnt ihr mir bitte hierbei helfen.

Besten Dank

Gruss
Peter

  

Betrifft: AW: aus excel Worddatei nach Wert durchsuchen von: Regina Resch-Jansen
Geschrieben am: 01.10.2019 08:33:11

Moin, ohne Öffnen geht das m.E. nicht.
Der folgende Code arbeitet alle Dateien ab, die mit Dateierweiterung in der Spalte A des Blattes Tabelle1 untereinander stehen. Der zu suchende Begriff steht dabei im gleichen Blatt in C1. Beides kann im Code angepasst werden. Im Code steht der Pfad C:\Test, auch der muss angepasst werden.
Wenn der Suchwert in einer der Dateien gefunden wird, wird eine Info ausgegeben, hier können dann natürlich auch weitere Aktionen erfolgen.
Falls Du noch Fragen hast, melde Dich gerne.
Gruß Regina

Public Sub Suche_Wert()
Dim obj_word As Object
Dim lng_zeile As Long
Dim myRange As Object

Set obj_word = CreateObject("Word.Application")
lng_zeile = 1
With obj_word
    Do Until Worksheets("Tabelle1").Cells(lng_zeile, 1) = ""
        .Documents.Open "C:\Test\" & Worksheets("Tabelle1").Cells(lng_zeile, 1)
        Set myRange = .activedocument.Content
        myRange.Find.Execute FindText:=Worksheets("Tabelle1").Range("C1")
        If myRange.Find.Found = True Then
            MsgBox "Schon verwendet"
        End If
        .activedocument.Close
        lng_zeile = lng_zeile + 1
    Loop
End With
Set obj_word = Nothing
End Sub



  

Betrifft: AW: aus excel Worddatei nach Wert durchsuchen von: Peter
Geschrieben am: 01.10.2019 10:11:11

Hallo Regina,

besten Dank für Deine Hilfe.

Ich habe den Code für meine Bedürfnisse abgeändert. Bis auf einen Faktor läuft er einwandfrei.


<pre>Public Sub Suche_Wert2()
Dim obj_word As Object
Dim lng_zeile As Long
Dim myRange As Object

Set obj_word = CreateObject("Word.Application")
'lng_zeile = 1
lng_zeile = 2

With obj_word
' Do Until Worksheets("Tabelle1").Cells(lng_zeile, 3) = ""
Do Until Worksheets("Tabelle1").Cells(lng_zeile, 3) > ""

' .Documents.Open "C:\Test\" & Worksheets("Tabelle1").Cells(lng_zeile, 1)
.Documents.Open "C:\Users\xxxx\Desktop\xxxx" & "\" & Worksheets("Worddaten").Cells(lng_zeile, 3)


Set myRange = .ActiveDocument.Content
myRange.Find.Execute FindText:=Worksheets("Tabelle1").Range("C1")
If myRange.Find.Found = True Then
MsgBox "Schon verwendet"
End If
.ActiveDocument.Close
lng_zeile = lng_zeile + 1
Loop
End With
Set obj_word = Nothing
End Sub</pre>
~f~

Wenn die letzte beschriebene Zeile durchlaufen ist, wird der Loop nochmals ausgeführt und hängt sich dann bei der 6. Zeile auf, da diese ja nicht mehr existiert bzw. leer ist.

Müsste hier evtl bevor dieses Workbook.open eingesteuert wird eine If eingefügt werden etwa in der Form
~f~
If Worksheets("Worddaten").Cells(lng_zeile, 3)= "" then exit Sub
elseIf Worksheets("Worddaten").Cells(lng_zeile, 3)> "" then

weiter mit den weiteren Zeilen ab Workbook.Open...

Gruss
Peter


  

Betrifft: AW: aus excel Worddatei nach Wert durchsuchen von: Regina Resch-Jansen
Geschrieben am: 01.10.2019 10:18:44

Hallo Peter,
Du hast "meine" Abbruchbedingung für die Schleife geändert, hier mus = "" stehen und nicht größer ""

Gruß
Regina


  

Betrifft: AW: aus excel Worddatei nach Wert durchsuchen von: Peter
Geschrieben am: 01.10.2019 10:24:52

Hallo Regina,

besten Dank nochmals für die Hilfe.

Der Fehler liegt bei mir, da es bei mir nicht Tabelle1 sondern Worddaten heissen muss. Damit funktioniert natürlich Deine Abbruchbedingung.

Wünsche Dir noch einen schönen Tag.

Gruss
Peter


  

Betrifft: AW: aus excel Worddatei nach Wert durchsuchen von: Peter
Geschrieben am: 01.10.2019 10:42:34

Hallo Regina,

jetzt benötige ich doch nochmals Deine Hilfe.

Wenn das erste Mal der Wert gefunden wird, dann soll ein Button deaktivert und ein Abbruch erfolgen.
Dabei soll dann auch Word beendet werden.

Kannst Du mir bitte dies noch mitteilen, wie ich das Ändern kann.

Besten Dank für Deine Hilfe.

Gruss
Peter


  

Betrifft: AW: aus excel Worddatei nach Wert durchsuchen von: Regina Resch-Jansen
Geschrieben am: 01.10.2019 12:57:11

Rückfrage:
Abbruch und Word beenden habe ich verstanden, aber wo ist das Button und wie "heißt" es?
gruß
regina


  

Betrifft: AW: aus excel Worddatei nach Wert durchsuchen von: Peter
Geschrieben am: 01.10.2019 13:45:09

Hallo Regina,

wenn ich das Ganze in eine Userform einbaue, dann soll, wenn der gesuchte Wert gefunden wurde, die Worddatei geschlossen, Word beendet werden und ein CommandButton(z.B. CmdBtn1)enabled=false gesetzt werden und der Code beendet werden.

Wir bereits z. B. in der 1. oder 2. Worddatei der Wert gefunden muss der Rest nicht mehr durchlaufen werden.

Ich hoffe Du hast meine Erläuterung verstanden.

Gruss
Peter


  

Betrifft: AW: aus excel Worddatei nach Wert durchsuchen von: Regina Resch-Jansen
Geschrieben am: 01.10.2019 13:49:54

ok, dann setze mal unter die Msgbox die folgenden zeilen:

me.CmdBtn1.enabled = false   'hier den Namens des Buttons anpassen
.ActiveDocument.close        ' hier den "." vor ActiveDocument nicht vergessen!
.quit                        ' ' hier den "." vor Quit nicht vergessen, beendet Word
exit do                       ' beende die Schleife vorzeitig
Gruß
regina


  

Betrifft: AW: aus excel Worddatei nach Wert durchsuchen von: Peter
Geschrieben am: 01.10.2019 17:20:20

Hallo Regina,

besten Dank für Deine Hilfe.

Jetzt funktioniert es.

Gruss
Peter


Beiträge aus dem Excel-Forum zum Thema "aus excel Worddatei nach Wert durchsuchen"