Schleifen in VBA (Schleifen in VBA), Lektion, Seite 720474
https://www.purl.org/stefan_ram/pub/schleifen_vba (Permalink) ist die kanonische URI dieser Seite.
Stefan Ram
VBA-Kurs

Do

Code-Bereich

Option Explicit

Sub Main

Dim I As Integer

Let I = 0

Do While I < 10
Debug.Print I
Let I = I + 1
Loop

End Sub

Programm unterbrechen

Code-Bereich

Option Explicit

Sub Main

Do While True: Loop

End Sub

Dieses Programm endet nicht von alleine, da die Zeile "While True: Wend" das Programm anweist, diese Zeile immer wieder zu durchlaufen.

Solch ein „Endlosprogramm“ kann unter einigen Windows-Versionen durch die Eingabe Strg-Pause unterbrochen werden. *Unter anderen Versionen ist dies nicht möglich, und die ganze Anwendung muß beendet werden.)

Es erscheint ein Unterbrechungsdialog, der die Wahlmöglichkeit bietet, das Programm endgültig zu beenden oder es zu testen.

Hier wählen wir "Testen" ("Debuggen"). Nun haben wir die Möglichkeit mehr über den Programmablauf herauszufinden. Links neben dem Programmtext im Kodefenster zeigt ein Pfeil auf die Stelle, an der unser Programm unterbrochen wurde.

Führen wir den Mauspfeil über einen Ausdruck (hier "True"), so erscheint dessen Wert (hier "True = True" oder "True = Wahr"). Durch Eingaben verschiedener Kommandos, die wir später lernen werden, in das Direktfenster können wir alle möglichen Informationen über das unterbrochenen Programm erhalten.

Beim Testen ist das Programm zunächst nur unterbrochen. Es könnte aus diesem Zustand heraus auch noch fortgesetzt werden. Das Programm kann aber in diesem Zustand nicht verändert werden. Auch einige Funktionen der Anwendung, wie z.B. Excel, funktionieren in diesem Zustand nicht.

Um wieder Änderungen  am Quelltext des Moduls vornehmen zu können, ist es nötig das Programm vollständig zu beenden. Hierfür kann im Menü "Ausführen" der Eintrag "Zurücksetzen" aktiviert werden. Diese Funktion kann auch mit der quadratischen „Stoptaste“ (einer Tastfläche) ausgeführt werden.

Durch Einbau der Anweisung »DoEvents« in eine Schleife wird das Programm immer wieder unterbrochen, damit die Anwendung Eingaben verarbeiten kann. Dadurch ist es zwar einfacher möglich, eine laufende Schleife zu unterbrechen, aber nun besteht dafür die Möglichkeit, daß der Programmablauf durch die Verarbeitung von Benutzereingaben gestört wird.

Verlassen
Exit Do
abweisende While-Wiederholung
  Do While ...
...
Loop
nichtabweisende While-Wiederholung
  Do
...
Loop While ...
abweisende Until-Wiederholung
  Do Until ...
...
Loop
nichtabweisende Until-Wiederholung

Do
...
Loop Until ...

Aufgabenstellung Es soll genau 60mal das Zeichen “x” ausgegeben werden (in den Direktbereich).

Aufgabenstellung Es soll in einem Spiel eine Zahl erraten werden. Der Computer legt eine Zufallszahl im Bereich von 0 bis 99 fest. Der Benutzer kann dann eine Zahl eingeben und erfährt, ob sie größer,kleiner oder gleich der Zufallszahl ist. Das wird solange wiederholt bis der Benutzer die Zahl erraten hat.

Beispiel:

Eingabe: 10

Programm: zu groß!

Eingabe 8

Programm: zu klein!

Eingabe 9

Seiteninformationen und Impressum   |   Mitteilungsformular  |   "ram@zedat.fu-berlin.de" (ohne die Anführungszeichen) ist die Netzpostadresse von Stefan Ram.   |   Eine Verbindung zur Stefan-Ram-Startseite befindet sich oben auf dieser Seite hinter dem Text "Stefan Ram".)  |   Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram. Schlüsselwörter zu dieser Seite/relevant keywords describing this page: Stefan Ram Berlin slrprd slrprd stefanramberlin spellched stefanram720474 stefan_ram:720474 Schleifen in VBA erklärung schleife in vba; Stefan Ram, Berlin, and, or, near, uni, online, slrprd, slrprdqxx, slrprddoc, slrprd720474, slrprddef720474, PbclevtugFgrsnaEnz Erklärung, Beschreibung, Info, Information, Hinweis,

Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram.
https://www.purl.org/stefan_ram/pub/schleifen_vba