Wie kann man in Excel-VBA mehrere If-bedingungen, die die selbse Reaktion auslösen sollen, zusammenfassen?

2 Antworten

Hey, folgender Code sollte eigentlich dein Problem lösen. Hier wird geprüft ob auch alle Textfelder gefüllt sind, wenn nicht kommt eine Meldung. Das Unload Me in dem Code musst du dann durch deinen Code ersetzen und eventuell auch den namen deiner UserForm:

Dim objtxt As Object
For Each objtxt In UserForm1.Controls
If TypeName(objtxt) = "TextBox" Then
If objtxt.Value = "" Then
MsgBox " Es wurden nicht alle Textfelder ausgefüllt.!", 48
objtxt.SetFocus
Exit Sub
End If
End If
Next
Unload Me

Klappt es?


schmiddi1967  28.07.2015, 23:25

Wie siehts aus, Rückmeldung wäre schön:((

0

Du kannst mit einer For-Each-Schleife alle Textboxen eines Forms durchsuchen und deren Wert abfragen.
Dazu kreierst du dir eine boolsche Variable, die sich merkt, ob alle einen Wert haben:

bAllesBefuellt = bAllesBefuellt and (txtCurrent.Value <> "")