Hallo Andreas,
aha. Genau das ist die Erklärung. Bei aktivem Filter, können über die Such-Funktion ausgeblendete Daten nicht gefunden werden.
Die Excel-Hilfe sagt dazu folgendes:
Wenn Sie Daten suchen, von deren Vorhandensein Sie überzeugt sind, Sie diese Daten aber nicht über das Dialogfeld Suchen und Ersetzen finden können, sind die Daten möglicherweise durch einen angewendeten Filter ausgeblendet. Entfernen Sie den Filter, indem Sie eine Zelle innerhalb des gefilterten Bereichs auswählen, klicken Sie auf der Registerkarte Start in der Gruppe Bearbeiten auf Sortieren und Filtern und klicken Sie dann auf Löschen. Suchen Sie die Daten anschließend erneut.
Interessant ist, dass wenn kein Filter gesetzt ist, über dieselbe Funktion auch manuell ausgeblendete Zeilen angesprungen werden können.
Du musst also überlegen, was dir wichtiger ist:
Willst du den Filter behalten, bleibt dir nur die Option auf die Find-Funktion zu verzichten und wirklich alle Zeilen zu durlaufen um über die Hidden-Eigenschaft zu prüfen ob sie ausgeblendet ist oder nicht.
Möchtest du hingegen die Makro-Laufzeit mithilfe der Find-Funktion verkürzen, dann solltest du den Filter deaktivieren.
Du könntest natürlich auch zu Makrobeginn, den Autofilter auf ungefilterten Status setzen. z.B. mit folgendem Code:
With ActiveSheet.Range("$B$10:$D$13")
For i = 1 To .Columns.Count
.AutoFilter field:=i
Next i
End With
Für Range müsstest du natürlich den Bereich deines Filters angeben.
Mehr fällt mir dazu leider auch nicht ein.
Gruß Mr. K.