If Then und AND?

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
UserForm CheckBox MsgBox
Bild

Betrifft: If Then und AND?
von: Martin
Geschrieben am: 24.10.2003 10:02:59



Hallo,

eine allgemeine Verständnisfrage bitte. Ich habe eine Userform mit 3 Checkboxen. Diese sollen alle komplett autark sein, je nachdem, welche Kombination aber enabled wurde, sollen entsprechende Kombinationen ausgeführt werden.

Ich dachte deshalb an den Anfang in etwa folgendes zu stellen

If chk1 = True then ..
ElseIf chk1 = True And chk2 = True then ..
usw.

So einfach scheint das aber nicht zu sein. oder?

Gruss,
Martin

Bild


Betrifft: AW: If Then und AND?
von: Dirk
Geschrieben am: 24.10.2003 10:06:56

Hallo.

Na eigentlich doch. Du musst halt nur bedenken, dass die Bedingung chk1=true in beiden Konstellationen erfüllt ist. Also vielleicht eine verschachtelte If-Bedingung.

If chk1=true then
If chk1=true AND chk2=true then
Anweisung wenn beide
end If
else
Anweisung wenn nur erste
end if

Und so entsprechend aufgearbeitet.

Cheers


Bild


Betrifft: Auweia
von: Dirk
Geschrieben am: 24.10.2003 10:10:19

Sorry.

der else-Zweig natürlich in die zweite If-Bedingung einfügen.


Bild


Betrifft: AW: Auweia
von: Martin
Geschrieben am: 24.10.2003 10:41:28

Danke, das probiere ich aus.

Gruss,
Martin


Bild


Betrifft: AW: If Then und AND?
von: Bernhard
Geschrieben am: 24.10.2003 11:48:06

hallo martin.
hab das erst jetzt gelesen und möchte auch gern meinen senf dazu geben:

wenn ich dich richtig verstehe, arbeitest du mit drei checkboxen. bei drei checkboxen
hast du 8 verschiedene möglichkeiten. dies entspricht insgesamt 7 abfragen, die zum
beispiel so aufgebaut sein könnten:

if chk1=true then
if chk2=true then
if chk3=true then
msgbox "chk 1, 2 u. 3 aktiviert"
else
msgbox "chk 1 u. 2 aktiviert"
endif
else
if chk3=true then
msgbox "chk 1 u. 3 aktiviert"
else
msgbox "chk 1 aktiviert"
endif
endif
else
if chk2=true then
if chk3=true then
msgbox "chk 2 u. 3 aktiviert"
else
msgbox "chk 2 aktiviert"
endif
else
if chk3=true then
msgbox "chk 3 aktiviert"
else
msgbox "kein chk aktiviert"
endif
endif
endif

bei 2 chechboxen ist die sache natürlich viel einfacher:
hier hat man insgesamt 4 möglichkeiten, die mit 3 abfragen zu realisieren sind

mfg
bernhard


Bild


Betrifft: AW: If Then und AND?
von: Martin
Geschrieben am: 25.10.2003 22:11:15

Hallo Bernhard,

danke fürs Feedback. Habe es mittlerweile wie folgt gelöst

A1 = benannt in 'eins'
A2 > 'zwei'
A3 > 'drei'


Sub test2()
If [eins].Value = 1 And [zwei].Value = 2 And [drei].Value = 3 Then
    MsgBox "1, 2, 3"
ElseIf [eins].Value = 1 And [zwei].Value = 2 Then
    MsgBox "1, 2"
ElseIf [eins].Value = 1 And [drei].Value = 3 Then
    MsgBox "1, 3"
ElseIf [zwei].Value = 2 And [drei].Value = 3 Then
    MsgBox "2, 3"
ElseIf [eins].Value = 1 Then
    MsgBox "1"
ElseIf [zwei].Value = 2 Then
    MsgBox "2"
ElseIf [drei].Value = 3 Then
    MsgBox "3"
End If
End Sub


Gruss,
Martin


 Bild

Beiträge aus den Excel-Beispielen zum Thema " Doku von veränderungen bei geschützten Zellen"