Excel VBA-UserForm soll sich nur schließen, wenn Bedingungen erfüllt

ChazyChaz

Lt. Commander
Registriert
Jan. 2006
Beiträge
1.028
Mal wieder ein VBA Problem ;)

Ich möchte, dass sich die UserForm, die aus 5 Summen die jeweils aus 6 Textboxen gebildet wird, nur schließt, wenn die summe jeweils 100 oder 0 ist.

Dazu habe ich das hier:
Code:
If Summe1 <> 100 And Summe2 <> 100 And Summe3 <> 100 And Summe4 <> 100 And Summe5 <> 100 Then
MsgBox "Fehler"


Else: Unload Me

End If

Funktioniert fast, nur dass sich die UserForm schließt, sobald nur eine Summe 100 ergibt.

Wo ist der fehler?

Edit:
Wenn ich das And durch Or ersetze, klappts fast. Jetzt schließt sich die UserForm nur noch, wenn alle 100 ergeben. Aber es sollte sich ja auch schließen, wenn eines davon Null ergibt. Ideen? :)
 
Zuletzt bearbeitet:
Edit:
Wenn ich das And durch Or ersetze, klappts fast. Jetzt schließt sich die UserForm nur noch, wenn alle 100 ergeben. Aber es sollte sich ja auch schließen, wenn eines davon Null ergibt. Ideen?

Musst mit einer anderern logik ran:

SummeX = Summe1 + Summe2 + Summe3 + Summe4 + Summe5

If SummeX = 100 Or SummeX = 0 Then
Unload Me
Else
MsgBox "Fehler", vbCritical
End If
 
So ähnlich hab ich das jetzt. Nur soll Summe 1-5 jeweils 100 oder 0 sein, also sind die Bedingungen so, dass SummeX 100 200 300 400 oder 500 sein soll. Was natürlich ein Schlupfloch hat. Wenn zwei Summen je 50 sind, ist SummeX auch 100. Aber das sollte nicht weiter schlimm sein.
Was heißt das vbCritical am Ende?

Schon gefunden.
Danke ;)
 
Zuletzt bearbeitet:
Naja, dann so:


If Summe1 = 100 Or Summe1 = 0 And Summe2 = 100 Or Summe2 = 0 And Summe3 = 100 Or Summe3 = 0 And Summe4 = 100 Or Summe4 = 0 And Summe5 = 100 Or Summe5 = 0 Then
Unload Me
Else
MsgBox "Fehler", vbCritical
End If
 

Ähnliche Themen

Zurück
Oben