Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1396to1400
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

GOTO in Schleife ersetzen

GOTO in Schleife ersetzen
13.12.2014 14:08:18
Markus

Hallo zusammen,
ich suche den Befehl, wie ich aus der zweiten If-Anweisung, falls wahr, gleich die nächste Zelle nehmen kann, ohne auf GOTO zurückgreifen zu müssen. Einfach "next rngZeile" funktioniert nicht.
Viele Grüße
Markus


For Each rngZelle In tbl.usedrange
If rngZelle.Locked = False Then
If rngZelle.Value = 1 Then
GoTo ENDE
ElseIf rngZelle.Value = 0 Then
' tu was
Else
MsgBox "Fehler"
Exit Sub
End If
End If
ENDE: next rngZelle

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: GOTO in Schleife ersetzen
13.12.2014 14:13:27
Hajo_Zi
Goto Ende ist sinnlos, da ja zu End If gesprungen wird.

AW: GOTO in Schleife ersetzen
13.12.2014 14:15:00
Markus
Hast recht. Nach dem letzten End If folgt aber noch Code, den ich hier ausgespart habe.

AW: GOTO in Schleife ersetzen
13.12.2014 14:29:39
Hajo_Zi
dir mag es wohl noch nicht aufgefallen sein, da Du zu wenige Antworten schreibst.
Ich kann nur auf das Antworten was im Beitrag steht, da ich es ablehne auf fremde Rechner zu schauen.
Ich bin dann also raus.
Gruß Hajo

AW: GOTO in Schleife ersetzen
13.12.2014 14:50:47
Markus
Habe nun das Problem umschifft, indem ich meinen Code umgestellt habe. Er sah aus wie unten beschrieben. Habe dann den Code vor dem letzten EndIf in den If-Schleifenkörper (1) getan. Somit erübrigt sich das GOTO.
Aber allgemein bleibt die Frage bestehen, wie man innerhalb einer for-each Schleife das nächste Glied nehmen kann, ohne den Rest der Schleife abzuarbeiten. In C geht sowas zB mit continue. Gibt es was Äquivalentes auch in VBA?
Grüße
Markus

For Each rngZelle In tbl.usedrange
If rngZelle.Locked = False Then
If rngZelle.Value = 1 Then
GoTo ENDE
ElseIf rngZelle.Value = 0 Then ' (1)
' tu was
Else
MsgBox "Fehler"
Exit Sub
End If
' hier folgt noch Code, der mit Werten rechnet, die in (1) gesetzt wurden
End If
ENDE: next rngZelle

Anzeige
AW: GOTO in Schleife ersetzen
13.12.2014 16:20:32
dfssdfs
nö kein continue, kein iterate for. Es bleibt nur goto weiterzuverwenden oder zur vermeindung von goto's den Programmablauf anders zu planen.

AW: GOTO in Schleife ersetzen
13.12.2014 16:24:05
Markus
Danke.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige