Schleifen | → ohne Beispiele | Zurück zu VBA-Wissen.de / Übersicht   | |
Befehl / Beispiele | Beschreibung | ||
For <ZählVariable> = <Anfang> To
<Ende> Step <Schritt> <Anweisungen> [If <Bedindung> Then Exit For] Next <ZählVariable> |
For Next- Schleife Wenn die Step- Option nicht angegeben ist, wird der Zählwert in der Next- Anweisung um 1 erhöht. |
||
Beispiel 1: Ausgabe der
ersten 10 Umgebungsvariablen des Betriebssystems For Nummer = 1 To 10 ' Von Nummer 1 bis 10 Text = Text & Environ(Nummer) & vbCr ' Umgebungsvariablen und Inhalt in Text ' Text-Variable festhalten Next Nummer ' Variable Nummer um 1 höher setzen MsgBox Text ' Text ausgeben |
|||
Beispiel 2: Alle Tabellenblätter
vom letzten zum 2. der aktuellen Mappe löschen. Application.DisplayAlerts = False ' Hinweismeldungen nicht ausgeben For Nr = Sheets.Count To 2 Step -1 ' vom letzten zum 2. Tabellenblatt Sheets(Nr).Delete ' löschen Next Nr ' nächste vorherige Nummer Application.DisplayAlerts = False ' Hinweismeldungen wieder einschalten |
|||
Beispiel 3: Inhalte aller Zellen
jeder 2. Zeile der Spalte 1 summieren, wenn in einer Zelle kein Inhalt, dann
Schleife verlassen. For Zeile = 1 To 100 Step 2 ' jede 2. Zeile ab Zeile 1 If Cells(Zeile, 1) = "" Then Exit For ' Abbruch wenn Zelle ( nicht Flasche ) leer Summe = Summe + Cells(Zeile, 1) ' Summierung Next Zeile ' Zähl-Variable wird um 2 erhöht. MsgBox Summe ' Ausgabe des Ergebnisses |
|||
For Each <Unterobjekt> In <Objekt> <Anweisungen> [If <Bedingung> Then Exit For] Next <Unterobjekt> |
For Each- Schleife |
||
Beispiel: Es werden alle Zellen
im Bereich A1:D20 summiert Dim Zelle As Range ' Zelle als Bereich definieren For Each Zelle In Range("A1:D20") ' Durchlaufe alle Zellen im Bereich A1:D20 Summe = Summe + Zelle ' Summierung Next Zelle ' Nächste Zelle des Bereichs MsgBox Summe ' Ausgabe der Summe |
|||
Do <Anweisungen> If <Bedingung> Then Exit Do Loop |
Do-Loop - Schleife 1 |
||
Beispiel: Es werden die Zellen
der Spalte 1 solange summiert, wie Zellinhalte vorhanden sind. Dim Zeile As Long Zeile=1 Do ' Schleifen-Anfang Summe = Summe + Cells(Zeile, 1) ' Summierung Zeile = Zeile + 1 ' Zeilen-Variable um 1 erhöhen If Cells(Zeile,1) <> "" Then Exit Do ' Schleife verlassen wenn nächste Zelle leer ist. Loop |
|||
Do <Anweisungen> [If <Bedingung> Then Exit Do] Loop Until <Bedingung> |
Do-Loop - Schleife 1 |
||
Beispiel: Es werden die Zellen
der Spalte 1 solange summiert, wie Zellinhalte vorhanden sind. Dim Zeile As Long Zeile=1 Do ' Schleifen-Anfang Summe = Summe + Cells(Zeile, 1) ' Summierung Zeile = Zeile + 1 ' Zeilen-Variable um 1 erhöhen Loop Until Cells(Zeile , 1) = "" ' Schleife verlassen wenn nächste Zelle leer ist. |
|||
Do <Anweisungen> [If <Bedingung> Then Exit Do] Loop Until <Bedingung> |
|||
Beispiel: Es werden die Zellen
der Spalte 1 solange summiert, wie Zellinhalte vorhanden sind. Dim Zeile As Long Zeile=1 Do ' Schleifen-Anfang Summe = Summe + Cells(Zeile, 1) ' Summierung Zeile = Zeile + 1 ' Zeilen-Variable um 1 erhöhen Loop Until Cells(Zeile , 1) = "" ' Schleife verlassen wenn nächste Zelle leer ist. |
|||
Do <Anweisungen> [If <Bedingung> Then Exit Do] Loop Until <Bedingung> |
|||
Beispiel: Es werden die Zellen
der Spalte 1 solange summiert, wie Zellinhalte vorhanden sind. Dim Zeile As Long Zeile=1 Do ' Schleifen-Anfang Summe = Summe + Cells(Zeile, 1) ' Summierung Zeile = Zeile + 1 ' Zeilen-Variable um 1 erhöhen Loop Until Cells(Zeile , 1) = "" ' Schleife verlassen wenn nächste Zelle leer ist. |
|||
While <Bedingung> <Anweisungen> Wend |
While-Wend- Schleife |
||
Beispiel: Es werden alle
vorhandenen Werte einer Datei summiert. Datei = "D:\MessWerte.txt" Open Datei For Input As #1 ' Öffnen der Datei "D:\MessWerte.txt" While Not EOF(1) ' Schleifen, solange End of File nicht erreicht ist. Input #1, Wert ' Wert aus Datei einlesen Summe = Summe + Wert ' Summierung Wend ' Schleifen-Ende Close #1 ' Datei schließen MsgBox Summe ' Ausgabe des Ergebnisses |