Das Makro soll von A1 prüfen ob die Zelle leer ist, falls ja dann gibt es die MsgBox-Meldung und das Makro ist zu ende.
Falls die Zelle nicht leer ist, gibt es auch eine MsgBox-Meldung.
Problem:
Jetzt sollte die Zelle der nächsten Zeile gefprüft werden. Das geht so lange bis die eine Zelle leer ist.
Wie kann man in diesem Makro der Variablen Var1, eine Zeile tiefer rutschen?
Sub bisleer()
Var1 = Worksheets(„Tabelle1“).Range(„A1“).Value
Do
If IsEmpty(Var1) Then
MsgBox („Zelle leer.“)
Else
MsgBox („Zelle nicht leer.“)
’ Var1 + eine Zeile FRAGE???
End If
Loop Until IsEmpty(Var1)
Das Makro soll von A1 prüfen ob die Zelle leer ist, falls ja
dann gibt es die MsgBox-Meldung und das Makro ist zu ende.
Falls die Zelle nicht leer ist, gibt es auch eine
MsgBox-Meldung.
Hi Xen,
was willst du mit den ganzen Meldungsfenstern erreichen?
Gruß
Reinhard
Wie kann man in diesem Makro der Variablen Var1, eine Zeile
tiefer rutschen?
Sub bisleer()
Var1 = Worksheets("Tabelle1").Range("A1").Value
An dieser Stelle wird der Variablen bereits ein Wert zugewiesen. Der zugewiesene Wert kann vom Datentyp her ja alles sein, aber Du willst ja eigentlich eine Zahl hochzählen. Deshalb solltest Du eine Variable vom Typ Long dimensionieren. Weiterhin steht diese Anweisung außerhalb der Do-Loop-Schleife, daß heißt der Wert wird nur dieses eine Mal zugewiesen und ändert sich danach nicht mehr
Do
If IsEmpty(Var1) Then
MsgBox ("Zelle leer.")
Else
MsgBox ("Zelle nicht leer.")
Var1 + eine Zeile FRAGE??????????
End If
Loop Until IsEmpty(Var1)
End Sub
Versuche es mal bitte damit
Dim Var1 As Variant
Dim Zeile As Long
Do
Zeile = Zeile + 1
Var1 = Tabelle1.Cells(Zeile, 1)
If IsEmpty(Var1) = True Then
MsgBox "Die Zelle ist leer"
Else
MsgBox "Die Zelle ist gefüllt"
End If
Loop Until Zeile = Tabelle1.UsedRange.Rows.Count