PDA

Vollständige Version anzeigen : Makro ohne Loop ausführen


djell
18.03.2009, 17:26
Ich bin absoluter Anfänger was Makroprogramierung betrifft!

Habe ein Makro das soweit ganz gut funktioniert.
Nur wenn ich es ausführen lasse läuft es in einer Schleife ab, und das soll es nicht! Es soll einmal die Zeile Löschen und dann aufhören.

Sub Zeilen_loeschen()

Dim rng As Range

Do
Set rng = Cells.Find(What:=Range("C11"), LookAt:=xlWhole)
If Not rng Is Nothing Then rng.EntireRow.Delete
Loop Until rng Is Nothing

End Sub

Wäre für hilfe Dankbar!

jinx
18.03.2009, 17:28
Moin, djell,

einfach nur die Schleife auskommentieren?

Sub Zeilen_loeschen()

Dim rng As Range

'Do
Set rng = Cells.Find(What:=Range("C11"), LookAt:=xlWhole)
If Not rng Is Nothing Then rng.EntireRow.Delete
'Loop Until rng Is Nothing

End Sub

ebs17
18.03.2009, 17:52
Zweite Variante: Die Ausstiegsbedingung aus der Schleife so setzen, dass die Schleife wirklich nur einmal durchlaufen wird. Aber wie schon angemerkt: Wozu dann eine Schleife?

djell
18.03.2009, 21:16
Super Danke hat mir geholfen, und funktioniert!

Warum schleife?
Wie gesagt bin absoluter Anfänger! :)

jinx
19.03.2009, 05:04
Moin, djell,

nicht jede Fundstelle im Internet ist wirklich geeignet, das Problem zu lösen - gerade für Anfänger. Darüberhinaus wird die vorgegebene Schleife mindestens einmal durchlaufen, da die Abbruchbedingung sich am Ende befindet und dort die Zulässigkeit eines weiteren Durchlaufes geprüft wird. Ein zweites Kriterium würde meiner Meinung nach auf die Verwendung eines falschen Ansatzes für die Lösung schließen lassen.