ich würde gerne wissen, wie ich eine Do While Loop Schleife nutze: Die Schleife soll über alle gefüllten Zeilen iterien, beginnend ab Zeile 2: Danke schonmal
dim z,s as long
z=2:s=3
while cells(z,s)>
GrußSub schleife()
Dim zeile As Long
Dim spalte As String
spalte = "A" ' welche auch immer Du benötigst
zeile = 2
While Range(spalte & zeile) ""
MsgBox "in Zelle " & spalte & zeile & " steht: " & Range(spalte & zeile).Value
zeile = zeile + 1
Wend
MsgBox "Die Zelle " & spalte & zeile & " ist leer."
End Sub
Sub D()
Dim Spalte As Long, Zeile As Long
Spalte = 1
Zeile = 2
Do
If Cells(Zeile, Spalte) "" Then
MsgBox Cells(Zeile, Spalte).Value
Zeile = Zeile + 1
Else
Exit Do
End If
Loop
End Sub
Gruß GerdSub D_mit_Var()
Dim Spalte As Long, Zeile As Long
Dim abbruch As Boolean
MsgBox "Variablen sind nach dem Dim immer" & vbLf & _
"mit Standardwerten vorbelegt:" & vbLf & _
"Long mit 0, also Spalte = " & Spalte & vbLf & _
"Boolean mit Falsch (VBA: false), also abbruch = " & abbruch
Spalte = 1
Zeile = 2
Do
If Cells(Zeile, Spalte) "" Then
MsgBox Cells(Zeile, Spalte).Value
Zeile = Zeile + 1
Else
abbruch = True
End If
Loop Until abbruch
End Sub
Um eine Do While Schleife in Excel VBA zu verwenden, folge diesen Schritten:
Öffne den VBA-Editor: Drücke ALT + F11 in Excel.
Erstelle ein neues Modul: Klicke mit der rechten Maustaste auf den Projektbaum und wähle Einfügen > Modul.
Schreibe den Code: Füge folgenden Code in das Modul ein:
Sub DoWhileBeispiel()
Dim zeile As Long
zeile = 2 ' Beginn bei Zeile 2
Do While Cells(zeile, 1) <> ""
MsgBox "In Zelle A" & zeile & " steht: " & Cells(zeile, 1).Value
zeile = zeile + 1
Loop
End Sub
Führe das Makro aus: Drücke F5, um das Makro zu starten und die Schleife zu testen.
Cells(zeile, 1) niemals leer ist, wird die Schleife unendlich ausgeführt. Stelle sicher, dass deine Abbruchbedingung korrekt ist.Neben der Do While Schleife gibt es auch die While Schleife oder Do Until Schleife. Hier sind Beispiele für beide:
While Schleife:
Sub WhileBeispiel()
Dim zeile As Long
zeile = 2
While Cells(zeile, 1) <> ""
MsgBox "In Zelle A" & zeile & " steht: " & Cells(zeile, 1).Value
zeile = zeile + 1
Wend
End Sub
Do Until Schleife:
Sub DoUntilBeispiel()
Dim zeile As Long
zeile = 2
Do Until Cells(zeile, 1) = ""
MsgBox "In Zelle A" & zeile & " steht: " & Cells(zeile, 1).Value
zeile = zeile + 1
Loop
End Sub
Hier sind einige praktische Anwendungen der Do While Schleife:
Beispiel 1: Zellen auslesen und anzeigen
Sub ZellenAuslesen()
Dim zeile As Long
zeile = 2
Do While Cells(zeile, 1) <> ""
Debug.Print Cells(zeile, 1).Value
zeile = zeile + 1
Loop
End Sub
Beispiel 2: Summieren von Werten in einer Spalte
Sub SummiereWerte()
Dim zeile As Long
Dim summe As Double
zeile = 2
summe = 0
Do While Cells(zeile, 1) <> ""
summe = summe + Cells(zeile, 1).Value
zeile = zeile + 1
Loop
MsgBox "Die Summe ist: " & summe
End Sub
Do While ... Loop für Bedingungen, die mindestens einmal ausgeführt werden sollen.Exit Do Befehl zu nutzen, um Schleifen bei bestimmten Bedingungen vorzeitig zu beenden.Option Explicit am Anfang deiner Module, um sicherzustellen, dass alle Variablen deklariert sind. Das hilft, Fehler zu vermeiden.1. Was ist der Unterschied zwischen Do While und While Schleifen in VBA?
Die Do While Schleife überprüft die Bedingung am Anfang der Schleife, während die While Schleife die Bedingung am Ende überprüft.
2. Kann ich eine Schleife abbrechen?
Ja, du kannst eine Schleife mit dem Befehl Exit Do abbrechen, wenn eine bestimmte Bedingung erfüllt ist.
3. Wie funktioniert die Do Until Schleife?
Die Do Until Schleife funktioniert, bis eine bestimmte Bedingung wahr ist. Sie wird oft verwendet, wenn du nicht genau weißt, wie oft die Schleife durchlaufen wird.