DIe Variable d brauchst Du nicht. Die Information, welche Du in d bereitstellst, liefert Dir Find als Range-Objekt in dessen Row-Eigenschaft.
Voraussetzung, Find ist nicht Nothing.
Und da sind wir bereits beim nächsten Problem. Wenn Find Nothing ist, also nichts gefunden wurde, macht Dein Code aber munter weiter. (!)
Solltest; Nein - musst Du überdenken. Da lauert die nächste Fehlerquelle.
Ändere die Fehlerzeile wie folgt ab (und verzichte auf die Variable d)
For Each Zelle In Worksheets("Tabelle1").Range(Cells(2, 1), Cells(3, f.Offset(0, -1).Row))
Übrigens:
Bei Fund, dursucht Dein Code einen Bereich auf Leerzellen. Warum, kann ich nicht beurteilen, da ich den Rest nicht kenne.
Wenn Du für Deine weitergehende Entscheidung wissen musst, ob in einem Bereich Leerzellen vorhanden sind, musst Du nicht loopen.
Das geht ganz gut mit Excel-Boardmitteln.
WorksheetFunction.CountBlank()
Der Loop, in Deinem Fall also das Durchlaufen und Abfragen einzelner Zellen, ist ein Zeiträuber par excellence.
Wenn Du es vermeiden kannst, vermeide es also. Mittel und Wege gibts zuhauf und ein(en) haste jetzt kennengerlernt :)
Schlußwort:
Du musst unbedingt einen Weg finden Deine Posts ordenltich zu formattieren. Ansonsten kann es gut sein, dass Antworten ausbleibend.
|