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