VBA-Schleifen - Liste der Top 4 Arten von Schleifen (mit Beispielen)

Inhaltsverzeichnis

Excel VBA-Schleifen

Schleifen werden häufig in allen Programmiersprachen verwendet, in denen ein bestimmter Bedarf oder ein bestimmtes Kriterium besteht, wenn ein bestimmter Code zum Ausführen einer bestimmten Zeit benötigt wird. Wir verwenden Schleifen für diese Codes. Jetzt gibt es in VBA viele Arten von Schleifen, z. B. Do. while, Do till, For Loop und For jede Schleife helfen diesen Schleifen bei der Ausführung des Codes, bis die Bedingung erfüllt ist.

Lassen Sie mich diese Aussage ganz am Anfang selbst machen. "Wenn Sie in VBA beherrschen möchten, müssen Sie das Konzept der Schleifen in VBA-Makros beherrschen."

Eine Schleife ist nichts anderes als das Durchlaufen einer Reihe von Zellen, das Durchlaufen einer Reihe von Objekten, um dieselbe Aufgabe für das Sammeln von Zellen oder Objekten zu wiederholen. Anstatt die Aufgabe in einem separaten Satz von Codezeilen mithilfe von Schleifen auszuführen, können wir die Länge des Codes so gering wie möglich halten.

Liste der Top 4 Arten von VBA-Schleifen

  1. Für die nächste Schleife
  2. Für jede Schleife
  3. Do While-Schleife
  4. Bis zur Schleife tun

Lassen Sie uns jeden dieser Typen im Detail sehen.

Typ 1 - Für die nächste Schleife

Mit der nächsten Schleife können wir den Zellbereich durchlaufen und für jede in der Schleife angegebene Zelle dieselbe Aufgabe ausführen. Hier müssen wir die Startnummer und die Endnummer angeben.

Beispiel

Wenn Sie beispielsweise Seriennummern von 1 bis 10 einfügen möchten, finden Sie unten die herkömmliche Methode zum Einfügen von Seriennummern.

Sub SerialNumber ()

Bereich ("A1"). Wert = 1
Bereich ("A2"). Wert = 2
Bereich ("A3"). Wert = 3
Bereich ("A4"). Wert = 4
Bereich ("A5"). Wert = 5
Bereich ("A6"). Wert = 6
Bereich ("A7"). Wert = 7
Bereich ("A8"). Wert = 8
Bereich ("A9"). Wert = 9
Bereich ("A10"). Wert = 10

End Sub

Sieht gut aus, nicht wahr? Das Problem hier ist jedoch nur zehnmal, dass wir diese Aufgabe ausführen müssen. Aber stellen Sie sich vor, wenn Sie 100 oder 1000 Zahlen einfügen möchten, können Sie den Code 100 oder 1000 Zeilen schreiben. Es ist unmöglich, und hier kommt die Schönheit der For Next-Schleife zum Tragen.

Schritt 1: Öffnen Sie das Makro und deklarieren Sie die Variable i als Integer.

Sub Insert_Serial_Number ()

Dim i As Integer

End Sub

Schritt 2: Öffnen Sie nun die For-Schleife . Erwähnen Sie hier den Beginn und das Ende der Schleife mit der Variablen i.

Schritt 3: Schreiben Sie nun den Code, den Sie ausführen möchten. Wir müssen Zahlen von 1 bis 10 in A1- bis A10-Zellen einfügen. Wenden Sie anstelle der Range-Methode die Cells-Methode an.

Es fragt nach der Zeilennummer, da wir die Variable i zunächst bereits als Ganzzahl deklariert haben . Sein Wert ist 1. Erwähnen Sie also, dass ich Ihre Zeilennummer und 1 als Ihre Spaltennummer mag.

Nun wird der Wert des aktuellen Zelle Wertes sollte man, statt zu erwähnen , die Nummer eins erwähnen i als Wert. Da jeder Zeitschleifenlauf i den Wert um 1 erhöht.

Drücken Sie nun die Taste F8, um nacheinander in eine Zeile zu gelangen. Drücken Sie F8, bis die For-Schleife erreicht ist.

Diese gelbe Farbe zeigt an, dass die ausgewählte Codezeile ausgeführt werden soll. Setzen Sie einen Cursor auf I und der Wert wird als Null angezeigt.

Drücken Sie nun noch einmal die Taste F8 und setzen Sie einen Cursor auf i & jetzt ist der Wert 1.

Die Werte von i in überall sind jetzt gleich 1. " Zellen (I, 1) .Wert = I" bedeutet Zellen (1, 1) .Wert = 1.

Drücken Sie die Taste F8 und sehen Sie den Wert in Zelle A1. Sie müssen 1 in Zelle A1 sehen.

Wenn Sie nun die Taste F8 drücken, kehrt sie noch einmal zur For-Schleife zurück, da die Endgrenze der Variablen i 10 beträgt. Diesmal ist der Wert I 2.

Für die nächste Schleife wird 10 Mal ausgeführt und Seriennummern von 1 bis 10 eingefügt.

Typ # 2 - Für jede Schleife

For Jede Schleife in VBA dient zum Durchlaufen einer Sammlung von Objekten. Für die nächste Schleife werden die Zellen durchlaufen und die Aufgabe ausgeführt, und für jede Schleife werden Objekte wie Arbeitsblätter, Diagramme, Arbeitsmappen und Formen durchlaufen.

Mit dieser Schleife können wir alle Arbeitsblätter durchgehen und einige Aufgaben ausführen. Sie können beispielsweise alle Arbeitsblätter durchlaufen, um Arbeitsblätter ein- und auszublenden.

Beispiel 1

Wenn Sie alle Arbeitsblätter außer dem Blatt, an dem Sie arbeiten, ausblenden möchten, wie werden Sie das tun? Wenn die Arbeitsmappe 20 Blätter enthält, ist dies ein zeitaufwändiger Vorgang. Mit der FOR EACH-Schleife können wir diese Aufgabe ausführen.

Ich habe 5 Blätter und möchte alle Blätter ausblenden, außer dass das Blatt „Main“ unter dem Code die Aufgabe für mich erledigen würde.

Sub To_Hide_All_Sheet ()

Dim Ws als Arbeitsblatt

Für jede Ws in ActiveWorkbook.Worksheets

Wenn Ws.Name "Main", dann
Ws.Visible = xlSheetVeryHidden
End If

Nächste Ws

End Sub

Beispiel 2

Wenn Sie alle ausgeblendeten Blätter einblenden möchten, erledigt der folgende Code die Aufgabe für Sie.

Sub To_UnHide_Specific_Sheet ()

Dim Ws als Arbeitsblatt

Für jede Ws in ActiveWorkbook.Worksheets

Ws.Visible = xlSheetVisible

Nächste Ws

End Sub

Typ # 3 - Do While-Schleife

Do While-Schleife führt die Aufgabe aus, während die angegebene Bedingung TRUE ist, und sobald die Bedingung FALSE wird, wird die Schleife beendet. Im Gegensatz zu den beiden anderen Schleifen testet Do While die Bedingung am Ende der Schleife und nicht am Anfang.

Ich werde Ihnen das Beispiel des Einfügens von Seriennummern mit der Do While-Schleife zeigen.

Sub Do_While_Example ()

Dim i As Integer

i = 1
Do While i <11
Zellen (i, 1) .Value = i
i = i + 1
Schleife

End Sub

Die obige Schleife wird ausgeführt, während i kleiner als 11 ist, und fügt weiterhin die Seriennummern ein. In dem Moment, in dem ich größer als 11 werde, hört die Schleife auf.

Typ 4 - Bis zur Schleife ausführen

Im Gegensatz zur Do While-Schleife wird die Do Until-Schleife nicht ausgeführt, solange die Bedingung TRUE ist. Vielmehr wird eine Schleife ausgeführt, bis die Bedingung FALSE ist. Schauen Sie sich zum Beispiel den folgenden Code an.

Sub Do_Until_Example ()

Dim i As Integer

i = 1
Do Bis i = 11
Zellen (i, 1) .Wert = i
i = i + 1
Schleife

End Sub

Der einzige Unterschied zwischen der Do While- und Do Until-Schleife ist der von uns angegebene Operator. Während wir in Do erwähnt haben, dass die Schleife ausgeführt werden soll, während i kleiner als (<) ist, 11, aber in do till loop, haben wir erwähnt, dass die Schleife ausgeführt werden soll, bis i gleich (=) bis 11 ist.

Dinge, an die man sich erinnern sollte

  • Es gibt ein erweitertes Beispiel für eine Excel-VBA-Schleife, auf das wir jedoch in einem separaten Artikel ausführlich eingehen werden.
  • Jede Schleife ist für Objektvariablen.
  • Obwohl Do While & Do Until gleich aussieht, ist es sehr wichtig, den Zustand zu erwähnen.
  • Schleifen sind sehr wichtige Konzepte.

Interessante Beiträge...