Wie fügen Sie eine if-Anweisung innerhalb einer for-Schleife in VBA?
For a = 1 to 10
if a = dumm then next a 'this statement should avoid running the subsequent codes if the if statement is true (similar to continue in c++
end if
'statements that need to run when the if statement is not true
next a
Warum funktioniert dieser code nicht funktioniert?? Es wirft kompilieren-Fehler: Next ohne for
loswerden weiter ein, muss es eine Aktion in der if-Anweisung
wenn es nicht weiter und die Schleife nicht ausgeführt 10 mal
läuft der restliche code. Ich will nicht, dass.
if a = dumm then a = a + 1
if a = dumm then goto...
(dies erfordert das hinzufügen einer Beschriftung, die Sie verwenden können, mit der goto
- Anweisung.wenn es nicht weiter und die Schleife nicht ausgeführt 10 mal
läuft der restliche code. Ich will nicht, dass.
InformationsquelleAutor pnkjmndhl | 2017-01-31
Du musst angemeldet sein, um einen Kommentar abzugeben.
Weil Sie eine
next
ohne eine entsprechendeFor
.For/Next
undFor Each/Next
müssen gepaart werden, die Sie nicht öffnen können eineFor
Schleife ohneNext
und Sie nicht verwenden könnenNext
ohne`.Einfach:
Diesen Schritten Ihre
a
Wert innerhalb der Schleife. Ich bin unklar, warum Sie denken, dies ist nicht zutreffend, weil, ob Sie erhöhena
und dann den code ausführen oder überspringen zum nächstena
(die funktionell äquivalent zu Inkrementieren es über+1
), das Ergebnis sollte das gleiche seinOder, könnte man hinzufügen, ein label und ein
GoTo
Aussage:Oder, und das ist meine Vorliebe, einfach verwenden Sie korrekte Boolesche Ausdrücke:
, Wenn Sie nicht wollen, um weiterhin die Schleife um alle, dann fügen Sie entweder eine
Exit
Anweisung,oder verwenden Sie eine
Do/While
Schleife mit entsprechenden escape-Bedingungen:InformationsquelleAutor David Zemens