Zum Hauptinhalt springen

Excel-VBA-Schleife beenden: Steuern der VBA-Codeausführung

Schleifen sind ein wichtiger Teil der Programmiersprache VBA. Sie ermöglichen es Ihnen, wiederholte Aktionen auszuführen, solange bestimmte Bedingungen erfüllt sind. Manchmal ist es jedoch notwendig, die Ausführung einer Schleife innerhalb des VBA-Codes zu unterbrechen.

Es gibt verschiedene Möglichkeiten, eine Schleife in VBA zu beenden, abhängig vom Typ der Schleife. Einige davon beinhalten die Verwendung von Operatoren Exit For oder Exit Do, die es Ihnen ermöglichen, die Ausführung der Schleife zu beenden und nach der Schleife zur nächsten Anweisung zu wechseln.

Eine andere Möglichkeit, die Schleife zu verlassen, besteht darin, einen Operator zu verwenden Exit Sub, die die Ausführung der gesamten VBA-Prozedur unterbricht und nach der Prozedur zur nächsten Anweisung springt.

Sie können auch bedingte Operatoren verwenden, z. B. If und Select Case, um eine bestimmte Bedingung zu überprüfen und die Schleifenausführung zu unterbrechen, wenn sie ausgeführt wird.

Das Unterbrechen einer Schleife in VBA ist ein nützliches Werkzeug zur Verwaltung der Codeausführung und spart Zeit und Ressourcen bei der Entwicklung von Makros in Excel. Wenn Entwickler die verschiedenen Möglichkeiten kennen, die Schleife zu verlassen, können sie die Ausführung ihres Codes flexibler kontrollieren und Aufgaben effektiv lösen.

Übersicht über Schleifen in VBA Excel

Hier sind einige der am häufigsten verwendeten Schleifen in VBA Excel:

1. Zyklus For Next: Diese Schleife wird verwendet, um eine Reihe von Anweisungen eine bestimmte Anzahl von Malen auszuführen. Sie können einen Anfangswert, einen Endwert und einen Schritt angeben, mit dem die Variablen geändert werden sollen.

For i = 1 To 10'Ваш кодNext i

2. Zyklus Do While: Diese Schleife wiederholt den Satz von Anweisungen, bis die Bedingung wahr ist. Sie können eine Bedingung vor oder nach der Ausführung von Anweisungen in einer Schleife angeben.

Do While i < 10'Ваш кодi = i + 1Loop

3. Zyklus Do Until: Diese Schleife wiederholt den Satz von Anweisungen, bis die Bedingung falsch ist. Sie können eine Bedingung vor oder nach der Ausführung von Anweisungen in einer Schleife angeben.

Do Until i >= 10'Ваш кодi = i + 1Loop

4. Zyklus For Each: Diese Schleife wird verwendet, um die Elemente einer Auflistung oder eines Arrays zu durchlaufen. Es durchläuft automatisch jedes Element einer Sammlung oder eines Arrays einzeln.

For Each cell In Range("A1:A10")'Ваш кодNext cell

Dies sind nur einige der in Excel VBA verfügbaren Schleifen. Abhängig von Ihrer Aufgabe und den Anforderungen Ihrer Makros können Sie einen geeigneten Schleifentyp auswählen.

Schleifen in VBA Excel: Die wichtigsten Arten von Schleifen und deren Zweck

1. "For" -Schleife:

Die For-Schleife wird verwendet, um einen Satz von Anweisungen eine bestimmte Anzahl von Malen zu wiederholen. Es basiert auf einer Zählervariablen, die mit jeder Iteration der Schleife zunimmt oder abnimmt. Die For-Schleife hat die folgende Syntax:

For [Variable] = [Anfangswert] To [Endwert] ' Next-Befehlssatz [Variable]

Innerhalb einer For-Schleife können Sie verschiedene Operationen ausführen oder andere Prozeduren aufrufen. Die Schleife wird fortgesetzt, bis der Wert der Zählervariablen den Endwert erreicht hat.

2. Die Schleife "Do While" und "Do Until":

Die Schleifen "Do While" und "Do Until" werden verwendet, um eine Reihe von Anweisungen auszuführen, solange eine bestimmte Bedingung wahr oder falsch ist. Die "Do While" -Schleife wird weiterhin ausgeführt, bis die angegebene Bedingung wahr ist, und die "Do Until" -Schleife wird weiterhin ausgeführt, bis die angegebene Bedingung falsch ist. Die Syntax für die Schleifen "Do While" und "Do Until" lautet wie folgt:

Do While [Bedingung] ' Loop Do Until-Befehlssatz [Bedingung] ' Loop-Befehlssatz

Innerhalb einer Schleife können Sie verschiedene Vorgänge ausführen oder andere Prozeduren aufrufen. Der Zyklus wird fortgesetzt, solange die angegebene Bedingung wahr oder falsch bleibt.

3. Zyklus "For Each":

Die "For Each" -Schleife wird zum Durchlaufen der Elemente einer Auflistung oder eines Arrays verwendet. Es ermöglicht Ihnen, eine Reihe von Anweisungen für jedes Element in einer Auflistung oder einem Array auszuführen. Die Syntax der "For Each" -Schleife lautet wie folgt:

For Each [Element] In [Sammlung] ' Next-Befehlssatz [Element]

Innerhalb einer Schleife können Sie auf jedes Element einer Auflistung oder eines Arrays zugreifen und Vorgänge ausführen oder Prozeduren aufrufen.

Es ist wichtig, sich daran zu erinnern, dass die Bedingung oder Anzahl der Wiederholungen immer dann korrekt definiert werden muss, wenn eine Schleife verwendet wird, damit keine Endlosschleife auftritt. Es sollte auch daran erinnert werden, dass verschachtelte Schleifen für komplexere, sich wiederholende Operationen nützlich sein können.

Wenn Sie die grundlegenden Schleifentypen in Excel VBA kennen, können Sie die Codeausführung effizient verwalten und bei Bedarf wiederholen. Die Verwendung von Schleifen ermöglicht es Ihnen, Aufgaben zu automatisieren und den Programmiervorgang in Excel zu vereinfachen.

For-Next: Steuern der Codeausführung mit einer For-Next-Schleife in Excel VBA

Die Syntax der For-Next-Schleife lautet wie folgt:

For Variable = Anfangswert To Endwert

Next Variable

Wenn eine Schleife ausgeführt wird, nimmt die Variable Werte vom Anfangswert bis zum Endwert mit dem angegebenen Schritt an (standardmäßig ist der Schritt 1). Der Codeblock, der sich zwischen den For- und Next-Anweisungen befindet, wird für jeden Variablenwert im angegebenen Bereich ausgeführt.

Betrachten Sie zum Beispiel den folgenden Code:

Sub ForNextExample()

Dim i As Integer

For i = 1 To 5

MsgBox "Wert der Variablen i ist: " & i

Next i

End Sub

In diesem Beispiel wird die For-Next-Schleife fünfmal ausgeführt, und bei jeder Iteration wird eine Meldung ausgegeben, die den Wert der Variablen i enthält. Das Ergebnis dieses Codes lautet wie folgt:

Wert der Variablen i: 1

Wert der Variablen i: 2

Wert der Variablen i: 3

Wert der Variablen i: 4

Wert der Variablen i: 5

Eine For-Next-Schleife kann für viele Aufgaben verwendet werden, z. B. das Durchlaufen von Arrayelementen, das Ausführen von Aktionen eine bestimmte Anzahl von Malen oder das Erstellen von Zählern für andere Schleifen. Die Flexibilität und Benutzerfreundlichkeit der For-Next-Schleife macht sie zu einem der leistungsstärksten Tools zur Verwaltung der Codeausführung in Excel VBA.

Do-While: Beenden einer Schleife mit einer Do-While-Schleife in Excel VBA

Die grundlegende Struktur der Do-While-Schleife sieht folgendermaßen aus:

Do ' Codeblock, der ausgeführt werden soll ' bei jeder Iteration der Schleife
Loop While 'Eine Bedingung, die bestimmt, ob die Schleife fortgesetzt werden soll

Zu Beginn der Do-While-Schleife wird die Bedingung überprüft. Wenn die Bedingung wahr ist, wird der Codeblock ausgeführt, und dann wird die Überprüfung der Bedingung wiederholt. Wenn die Bedingung falsch ist, springt die Ausführung des Programms nach der Schleife zur nächsten Codezeile.

Sie können die Anweisung Exit Do verwenden, um die Do-While-Schleife zu beenden. Die Exit Do-Anweisung stoppt die sofortige Ausführung der Schleife und springt nach der Schleife zur nächsten Codezeile.

Angenommen, Sie möchten alle Zahlen von 1 bis 10 ausgeben und die Zahl 5 überspringen. Sie können eine Do-While-Schleife verwenden, um Zahlen zu durchlaufen und zu überprüfen, ob die aktuelle Zahl gleich 5 ist. Wenn es 5 ist, verwenden Sie die Exit Do-Anweisung, um die Ausführung der Schleife zu beenden:

Sub DoWhileExample()Dim i As Integeri = 1Do While i 

В этом примере цикл будет выполняться, пока переменная i меньше или равна 10. Если текущее значение переменной i равно 5, цикл будет прекращен с помощью оператора Exit Do . В противном случае, текущее значение переменной i будет выводиться в сообщении MsgBox .

Цикл Do-While является мощным инструментом в VBA Excel для управления выполнением кода. Вы можете использовать цикл Do-While для повторения блока кода до выполнения определенного условия. Используйте оператор Exit Do , чтобы выйти из цикла до его завершения.

Do-Until: контроль выполнения кода с помощью цикла Do-Until в VBA Excel

Цикл Do-Until в VBA Excel позволяет контролировать выполнение кода до тех пор, пока определенное условие не станет истинным. Данный цикл выполняет код, затем проверяет условие, и если оно ложное, повторяет выполнение кода. Цикл продолжает работать до тех пор, пока условие не станет истинным.

Синтаксис цикла Do-Until выглядит следующим образом:

Do[код]Loop Until [условие]

Das Schlüsselwort "Do" bezeichnet den Anfang einer Schleife und das Schlüsselwort "Loop" bezeichnet das Ende einer Schleife. Der auszuführende Code befindet sich zwischen diesen Schlüsselwörtern. Die Bedingung, die nach der Ausführung des Codes überprüft wird, wird nach dem Schlüsselwort "Loop Until" angegeben. Wenn die Bedingung falsch ist, wiederholt sich der Zyklus. Wenn es wahr ist, wird die Schleife beendet und die Steuerung wird nach der Schleife an die nächste Codezeile übergeben.

Eine Do-Until-Schleife ist besonders nützlich, wenn Sie den Code mindestens einmal ausführen und dann fortfahren möchten, bis eine bestimmte Bedingung erfüllt ist. Beispielsweise können Sie eine Do-Until-Schleife verwenden, um nach einem bestimmten Wert in einem Zellenbereich zu suchen oder den Code zu wiederholen, bis der Benutzer die richtigen Daten eingibt.

Beispiel für die Verwendung einer Do-Until-Schleife:

Sub ExampleDoUntil()Dim i As Integeri = 1DoDebug.Print ii = i + 1Loop Until i > 5End Sub

In diesem Beispiel wird der Code fünfmal ausgeführt, da die Bedingung "i > 5" nach der fünften Ausführung des Codes in der Schleife wahr wird. Jedes Mal in einer Schleife wird der Wert der Variablen "i" mit der Funktion "Debug" im Fenster "Immediate" angezeigt.Print".

Eine Do-Until-Schleife bietet eine bequeme Möglichkeit, die Codeausführung in VBA Excel basierend auf dem Ergebnis der Überprüfung einer bestimmten Bedingung zu steuern. Es ermöglicht Ihnen, die Codeausführung zu wiederholen, bis die gewünschte Bedingung erreicht ist, und ist ein wichtiges Werkzeug für die Entwicklung von Makros und die Automatisierung von Aufgaben in Excel.

While-Wend: beenden der Codeausführung mit einer While-Wend-Schleife in Excel VBA

Hier ist ein Beispiel für die Verwendung einer While-Wend-Schleife in Excel VBA:

In diesem Beispiel wird eine While-Wend-Schleife ausgeführt, solange die Variable i kleiner als 10 ist. Wenn der Wert von i jedoch auf 5 festgelegt wird, wird die Ausführung der Schleife mit der Exit While-Anweisung unterbrochen.

Sie können auch andere Operatoren verwenden, um die Schleife zu verlassen, z. B. Exit Do oder Exit Sub. Wenn Sie jedoch die Exit While-Anweisung verwenden, können Sie die Codeausführung nur innerhalb der Schleife beenden und die Steuerung an die nächste Anweisung nach dem Wend übergeben.

Die While-Wend-Schleife ist ein praktisches Tool zum Verwalten der Codeausführung in VBA Excel. Es ermöglicht Ihnen, die gewünschten Aktionen auszuführen, während eine bestimmte Bedingung erfüllt ist, und die Ausführung sofort zu beenden, wenn diese Bedingung nicht mehr wahr ist. Dies ermöglicht eine flexiblere Verwaltung des Programmausführungsablaufs und verbessert die Effizienz des Codes.