Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1128to1132
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

For...Next Schleife anstelle Do until...Loop | Herbers Excel-Forum

For...Next Schleife anstelle Do until...Loop
14.01.2010 15:23:09
Stefan

Hallo zusammen,
ich habe eine Do...Loop Schleife und würde diese gerne durch eine For...Next Schleife ersetzten.
Geht das in diesem Fall überhaupt?

Sub loop()
Dim iRow As Integer
iRow = 5
Do Until Cells(iRow - 1, 1).Value = "x"
If IsEmpty(Cells(iRow, 1)) Then
End If
iRow = iRow + 1
Loop
End Sub

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: For...Next Schleife anstelle Do until...Loop
14.01.2010 15:46:22
Daniel
Hi
eine For-Next-Schleife kannst du natürlich nur verwenden, wenn das Ende bekannt ist.
Sollte es Fälle geben, in denen die Schleife vor Erreichen des Endes beendet werden soll, geht das mit EXIT FOR, es wird mit dem nächsten Befehl nach dem zugehörigen NEXT weiter gemacht:
For rRow = 5 to Cells(Rows.Count, 1).End(xlup).Row
if Cells(i,Row-1,1).Value = "X" then exit For
If IsEmpty(Cells(iRow, 1)) Then
End If
next
Gruß, Daniel
AW: For...Next Schleife anstelle Do until...Loop
14.01.2010 15:48:54
Hajo_Zi
Hallo Daniel,
es fehlt 1x Ed If
Gruß Hajo
Anzeige
AW: Sicher???
14.01.2010 15:52:11
Daniel
ich meine nicht.
Gruß, Daniel
AW: Sicher???
14.01.2010 15:54:37
Hajo_Zi
Hallo Daniel,
ich habe es falsch gesehen.
Gruß Hajo
AW: For...Next Schleife anstelle Do until...Loop
14.01.2010 16:04:55
Stefan
Hallo,
ist leider nicht so einfach, da die Anzahl der Zeilen variabel ist und durch die Schleife erweitert wird. In Spalte "A" wird eine Formel so lange nach unten kopiert bis die Formel den Wert X zurück gibt. So lange sollte dann natürlich auch die Schleife laufen...
For rRow = 5 To Cells(Rows.Count, 1).End(xlUp).Row
If Cells(iRow - 1, 1).Value = "X" Then Exit For
If IsEmpty(Cells(iRow, 1)) Then
Range(Optionen2.Cells(iRow - 1, 1), Optionen2.Cells(iRow - 1, 39)).Copy
Cells(iRow, 1).PasteSpecial xlFormulas
ActiveSheet.calculate
End If
iRow = iRow + 1
End if
Next
Anzeige
AW: Dann ist Do...Loop die bessere Variante
14.01.2010 22:28:18
Daniel
For...Next setzt man ein, wenn die Anzahl der Schleifendurchläufe von vorne herein bekannt ist, was bei dir aber nicht der Fall ist.
Gruß, Daniel
AW: Dann ist Do...Loop die bessere Variante
15.01.2010 08:48:32
Stefan
Hallo zusammen,
eigentlich wollte ich For...Next verwenden um einen Fortschrittsbalken einzubinden.
Bei Do..Loop geht das ja meines wissens nicht...
kein technisches, sondern sachliches Problem
15.01.2010 09:02:22
Erich G.
Hi Stefan,
das ist dann wohl gar kein technisches, sondern ein sachliches Problem.
Was sollte ein Fortschrittsbalken denn nach dem ersten oder zweiten Schleifendurchlauf anzeigen,
wenn niemand wissen kann, ob danach noch drei oder 20000 Durchläufe nötig sind?
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: kein technisches, sondern sachliches Problem
15.01.2010 09:13:04
Stefan
Hallo Erich,
gebe Dir recht - müsste evtl. vorher abfragen wie viele Durchläufe benötigt werden und dann die Schleifen durchlaufen lassen.Ich glaube ich lasse es einfach wie es ist und die Kosmetik mit Fortschrittsbalken ist sowieso nicht so wichtig.
Danke!
was hast du gegen Do...Loop? owt
14.01.2010 20:04:55
Rudi Maintaire

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige