If Then Next
Hallo,
gibt es eigentlich eine Möglichkeit den nächsten Durchlauf einer Schleife vorzeitig zu initiieren?
Hier also, wenn Zelle i,3 nicht leer ist, soll irgendwas weiteres passieren, ist die Zelle leer, soll i weiter gezählt werden.
Grüße
Sascha
gibt es eigentlich eine Möglichkeit den nächsten Durchlauf einer Schleife vorzeitig zu initiieren?
For i = 1 to 10
do something
If Tabelle1.Cells(i , 3).Value = "" Then next i
do something more
next i
Hier also, wenn Zelle i,3 nicht leer ist, soll irgendwas weiteres passieren, ist die Zelle leer, soll i weiter gezählt werden.
Grüße
Sascha
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 314598
Url: https://administrator.de/forum/if-then-next-314598.html
Ausgedruckt am: 03.04.2025 um 17:04 Uhr
12 Kommentare
Neuester Kommentar

Hi,
na mit ELSE! Dort halt nix machen statt "do something more".
wtf. Gruß c
na mit ELSE! Dort halt nix machen statt "do something more".
wtf. Gruß c

Du brauchst doch nur ein next i.
Statt "if leer" machst du if "nicht leer" > do something
und dann "next i"
oder
if leer > "gar nix" else "do something" end if > next i
Statt "if leer" machst du if "nicht leer" > do something
und dann "next i"
oder
if leer > "gar nix" else "do something" end if > next i

Oder in schön ohne Goto oder Continue 
For i = 1 to 10
do something
If Tabelle1.Cells(i , 3).Value <> "" Then
do something more
End If
next i
Hi,
einfach ein
sollte reichen.
bzw.
je nachdem, wie Du es brauchst.
E.
Edit:
@127103
Ja, nee is klar. Wenn er sowas meinte ....
einfach ein
i = i + 1
For i = 1 to 10
do something
If Tabelle1.Cells(i , 3).Value = "" Then i = i + 1
do something more
next i
bzw.
For i = 1 to 10
do something
If Tabelle1.Cells(i , 3).Value = "" Then
i = i + 1
else
do something more
end if
next i
je nachdem, wie Du es brauchst.
E.
Edit:
@127103
Ja, nee is klar. Wenn er sowas meinte ....

Hi emeriks,
in deinen Vorschlägen zählt der Code übrigens doppelt hoch.
Einmal bei i = i + 1 und bei next i.
i wäre dann 1,3,5 usw...
btw. VBA is kacke^^
in deinen Vorschlägen zählt der Code übrigens doppelt hoch.
Einmal bei i = i + 1 und bei next i.
i wäre dann 1,3,5 usw...
btw. VBA is kacke^^
Das ist ne Ausrede. Durch das "nix" machen überspringt er ja den Wert. Mit deinem Code auch den Wert danach.
Hä? Nein, sowas kann manchmal sehr nützlich sein.For i = 1 to 10
select case i
case 5
i = i + 1
case 7
i = i + 2
end select
msgbox i
select case i
case 5
i = i - 1
case 7
i = i - 2
end select
next i
Denk Dir was aus, wo man sowas in der Art benötigen könnte. Irgendwann in den letzten 30 Jahren hatte ich sowas ä. schon mal dabei.