https://learn.microsoft.com/de-de/office/vba/api/excel.range.find
geht auch ohne die Objektvariablen. Mann muß auch die Application nicht sehen, um Werte zu suchen.
Der code,geht durch alle Arbeitsblätter und sucht dort in allen Zellen nach dem Text "Suchwort". Der Text kann auch nur ein Teil (xlpart)eines Zellwertes sein. Wird das Suchwort gefunden erhält die Variable bolgefunden den Wert true.
Am Ende wird eine Msgbox ausgegeben. In Abhängigkeit ob bolgefunden=true ist oder nicht wird ein Text zusätzlich ausgegeben oder auch nicht.
Dim ergebnis As Range, ws As Object, bolgefunden As Boolean
With CreateObject("excel.application")
With .Workbooks.Open(Filename:=Zieldatei)
For Each ws In .Worksheets
Set ergebnis = ws.Cells.Find(What:="Suchwort", LookIn:=xlValues, lookat:=xlPart)
If Not ergebnis Is Nothing Then
bolgefunden = True
End If
Next
.Close False
End With
.Quit
End With
MsgBox iif(bolgefunden, "", "Nichts") & " gefunden"
|