Hallo
ist es möglich, eine negative For Next Schleife zu erstellen?
ich meine damit z.B.:
for i = 10 to 5
....
next i
gruss rolf
ist es möglich, eine negative For Next Schleife zu erstellen?
ich meine damit z.B.:
for i = 10 to 5
....
next i
gruss rolf
schreibe hinter 5 Step -1
Gruß Hajo
Um eine negative For Next Schleife in Excel VBA zu erstellen, kannst du die Step
-Anweisung verwenden, um rückwärts zu iterieren. Hier ist ein einfaches Beispiel:
Sub NegativeForNext()
Dim i As Integer
For i = 10 To 5 Step -1
Debug.Print i
Next i
End Sub
In diesem Beispiel wird die Schleife von 10 bis 5 rückwärts durchlaufen. Beachte, dass Step -1
verwendet wird, um die Iteration in negativen Schritten durchzuführen.
Fehler: „Schleife wird nie ausgeführt.“
Fehler: „Ungültige Prozeduraufruf.“
Step -1
korrekt implementiert ist. Es darf kein positiver Schritt verwendet werden, wenn du von einem höheren zu einem niedrigeren Wert iterierst.Falls du eine Schleife ohne die For Next
-Anweisung verwenden möchtest, kannst du auch eine Do While
-Schleife nutzen. Hier ein Beispiel:
Sub NegativeDoWhile()
Dim i As Integer
i = 10
Do While i >= 5
Debug.Print i
i = i - 1
Loop
End Sub
Mit dieser Methode kannst du ebenfalls rückwärts iterieren, ohne die For Next
-Syntax zu verwenden.
Hier sind einige praktische Anwendungen der negativen For Next Schleife:
Sub CountToFive()
Dim i As Integer
Dim row As Integer
row = 1
For i = 10 To 5 Step -1
Cells(row, 1).Value = i
row = row + 1
Next i
End Sub
Sub ConditionalNegativeFor()
Dim i As Integer
For i = 10 To 5 Step -1
If i Mod 2 = 0 Then
Debug.Print i & " ist gerade."
End If
Next i
End Sub
Step
-Parameter, um komplexere Iterationen zu erreichen. Du kannst auch Step -2
verwenden, um nur jede zweite Zahl rückwärts zu zählen.Debug.Print
ist nützlich, um Ausgaben während der Entwicklung zu überprüfen, bevor du sie in Zellen schreibst.1. Kann ich eine negative For Next Schleife ohne den Step-Parameter verwenden?
Nein, um rückwärts zu iterieren, musst du den Step -1
-Parameter verwenden.
2. Was passiert, wenn ich den Endwert größer als den Startwert setze?
In diesem Fall wird die Schleife nicht ausgeführt, da die Bedingung für die Schleifeniteration nicht erfüllt ist.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen