For Next Loop in Excel VBA - Ein Anfängerhandbuch mit Beispielen

In VBA wird Schleifen verwendet, wenn Sie dieselbe Aufgabe mehrmals ausführen müssen, bis eine Bedingung erfüllt ist (oder bis eine Bedingung wahr ist).

In diesem Tutorial erfahren Sie, wie Sie die For Next-Schleife in Excel VBA verwenden.

Wenn Sie daran interessiert sind, VBA auf einfache Weise zu lernen, besuchen Sie mein Online Excel VBA-Schulung.

Verwenden von FOR NEXT Loop in Excel VBA

'For Next' Loop funktioniert, indem die Schleife die angegebene Anzahl von Malen ausgeführt wird.

Wenn ich Sie zum Beispiel bitte, die ganzen Zahlen von 1 bis 10 manuell zu addieren, würden Sie die ersten beiden Zahlen addieren, dann die dritte Zahl zum Ergebnis hinzufügen und dann die vierte Zahl zum Ergebnis hinzufügen, usw.

Ist es nicht?

Die gleiche Logik wird in der For Next-Schleife in VBA verwendet.

Sie geben an, wie oft die Schleife ausgeführt werden soll, und geben außerdem an, was der Code bei jeder Ausführung der Schleife tun soll.

Hier ist das For Next-Schleifenformat, das Sie in VBA verwenden müssen, um die ersten 10 ganzen Zahlen hinzuzufügen.

Für i = 1 bis 10 [addiere die i-te positive ganze Zahl zum Ergebnis] Next i

Sehen wir uns nun einige Beispiele für die Verwendung der For Next-Schleife an.

Beispiel 1: Hinzufügen der ersten 10 positiven ganzen Zahlen

Unten ist der Code, der die ersten 10 positiven ganzen Zahlen mit einer For Next-Schleife hinzufügt. Es wird dann ein Meldungsfeld mit der Summe dieser Zahlen angezeigt.

Sub AddNumbers() Dim Total As Integer Dim Count As Integer Total = 0 For Count = 1 To 10 Total = Total + Count Next Count MsgBox Total End Sub

In diesem Code wird der Wert von Total auf 0 gesetzt, bevor die For Next-Schleife aufgerufen wird.

Sobald es in die Schleife gelangt, enthält es den Gesamtwert nach jeder Schleife. Wenn also Counter nach der ersten Schleife 1 ist, wird der „Total“-Wert 1 und nach der zweiten Schleife 3 (1+2) und so weiter.

Und schließlich, wenn die Schleife endet und Total die Summe der ersten 10 positiven ganzen Zahlen hat, zeigt eine MsgBox einfach das Ergebnis in einer Messagebox an.

Klicken Sie hier, um die Beispieldatei herunterzuladen

Beispiel 2: Hinzufügen der ersten 5 geraden positiven ganzen Zahlen

Um die ersten fünf geraden positiven ganzen Zahlen (d. h. 2, 4, 6, 8 und 10) zu summieren, benötigen Sie einen ähnlichen Code mit einer Bedingung, um nur die geraden Zahlen zu berücksichtigen und die ungeraden Zahlen zu ignorieren.

Hier ist ein Code, der es tut:

Sub AddEvenNumbers() Dim Total As Integer Dim Count As Integer Total = 0 For Count = 2 To 10 Step 2 Total = Total + Count Next Count MsgBox Total End Sub

Beachten Sie, dass wir den Count-Wert bei 2 begonnen und auch Schritt 2 in der For-Syntax verwendet haben.

Schritt 2 würde den Code anweisen, den „Count“-Wert jedes Mal um 2 zu erhöhen, wenn die Schleife ausgeführt wird. Der Zählwert beginnt also bei 2 und wird dann 4, 6, 8 und 10, wenn die Schleife auftritt.

HINWEIS: Eine andere Möglichkeit, dies zu tun, könnte darin bestehen, die Schleife von 1 bis 10 auszuführen und innerhalb der Schleife zu prüfen, ob die Zahl gerade oder ungerade ist. Die Verwendung von Step ist in diesem Fall jedoch effizienter, da die Schleife nicht 10-mal, sondern nur 5-mal ausgeführt werden muss.

Klicken Sie hier, um die Beispieldatei herunterzuladen.

Beispiel 3: Holen Sie sich den numerischen Teil aus einer alphanumerischen Zeichenfolge

Die 'For Next'-Schleife kann auch verwendet werden, um jedes Zeichen in einer Zeichenfolge zu durchlaufen.

Wenn Sie beispielsweise eine Liste mit alphanumerischen Zeichenfolgen haben, können Sie die For Next-Schleife verwenden, um die Zahlen daraus zu extrahieren (wie unten gezeigt):

Hier ist ein Code, der eine benutzerdefinierte Funktion in VBA erstellt, die wie jede andere Arbeitsblattfunktion verwendet werden kann.

Es extrahiert den numerischen Teil aus der alphanumerischen Zeichenfolge.

Funktion GETNUMERIC(Cl As Range) Dim i As Integer Dim Result as Long For i = 1 To Len(Cl) If IsNumeric(Mid(Cl, i, 1)) Then Result = Result & Mid(Cl, i, 1) End If Next i GetNumeric = Ergebnis-Endfunktion

In diesem Code hängt die Anzahl der Schleifendurchläufe von der Länge des alphanumerischen Strings ab (er verwendet die LEN-Funktion, um die Länge des Strings zu ermitteln).

Sie müssen diese Funktion in das Modulcodefenster einfügen und können sie dann wie jede andere Arbeitsblattfunktion verwenden.

Klicken Sie hier, um die Beispieldatei herunterzuladen.

Beispiel 4: Erhalten von Zufallszahlen im ausgewählten Bereich

Angenommen, Sie möchten schnell Zufallszahlen in die ausgewählten Zellen eingeben, hier der Code, der dies tut.

Sub RandomNumbers() Dim MyRange As Range Dim i As Integer, j As Integer Set MyRange = Selection For i = 1 To MyRange.Columns.Count For j = 1 To MyRange.Rows.Count MyRange.Cells(j, i) = Rnd Weiter j Weiter i Ende Unter

Dies ist ein Beispiel für eine verschachtelte For Next-Schleife, bei der eine For-Schleife innerhalb einer For-Schleife verwendet wird.

Angenommen, Sie treffen eine Auswahl von 10 Zeilen und 4 Spalten, der Wert von i variiert von 1 bis 4 und der Wert von j variiert von 1 bis 10.

Wenn die erste For-Schleife ausgeführt wird, ist der Wert von i 1. Es geht dann zur zweiten For-Schleife, die 10 Mal (für jede Zeile) ausgeführt wird.

Sobald die zweite For-Schleife 10 Mal ausgeführt wurde, geht sie zurück zur ersten For-Schleife, wo nun der Wert von i 2 wird. Wieder läuft die nächste For-Schleife 10 Mal.

So funktioniert die verschachtelte For Next-Schleife.

Klicken Sie hier, um die Beispieldatei herunterzuladen.

Möglicherweise gefallen Ihnen auch die folgenden Excel VBA-Tutorials:

  • Arbeiten mit Zellen und Bereichen in Excel VBA.
  • Arbeiten mit Arbeitsblättern in Excel VBA.
  • Arbeiten mit Arbeitsmappen mit VBA.
  • Verwenden von IF Then Else-Anweisungen in VBA.
  • Excel-VBA-Auswahlfall.
  • Erstellen einer benutzerdefinierten Funktion in Excel.
  • Excel VBA-Ereignisse - Eine einfache (und vollständige) Anleitung
  • So zeichnen Sie ein Makro in Excel auf.
  • So führen Sie ein Makro in Excel aus.
  • So erstellen Sie ein Add-In in Excel.
  • So speichern und wiederverwenden Sie Makros mit Excel Personal Macro Workbook.
  • Nützliche Excel-Makro-Beispiele für Anfänger.
  • Verwenden der InStr-Funktion in VBA.

Sie werden die Entwicklung der Website helfen, die Seite mit Ihren Freunden teilen

wave wave wave wave wave