Schleifenproblem
03.05.2004 16:42:26
Kai
ich habe ein kleineres Problem mit Objekten in Visual Basic.
ich möchte eine ganze Spalte eines Tabellenblatts auswerten und wenn ein bestimmtes Wort im Zelleninhalt nicht vorkommt (hier: Übersicht), dann soll die betreffende Zeile komplett gelöscht werden. Mein Code dazu sieht folgendermassen aus:
For Each zelle In Range("B:B")
If zelle.Find("Übersicht", LookIn:=xlValues) Is Nothing Then
zelle.EntireRow.Delete
End If
Next
Das funktioniert auch ganz vorzüglich, allerdings springt VB nach dem Löschen zur übernächsten Zelle. Wenn also Zeile 2 gelöscht wird, dann ist die nächste zu überprüfende Zelle die aus der (ehemaligen) Zeile 4.
Wie kann ich das Makro dazu bringen, die Auswertung eine Zeile höher fortzusetzen? Mein Ansatz war "Set zelle=zelle.Offset(-1,0)", das funktioniert aber nicht (Laufzeitfehler 424: Objekt erforderlich).
Wo liegt mein Denkfehler?
Schönen Gruss und schon mal Danke im Voraus,
Kai