Deine Lösung nur mir Xor funktioniert nicht, weil Xor das exklusive Oder ist. Das bedeutet, sind beide Wahrheitswerte true, kommt false raus. Deshalb funktioniert schon deine Zeile für Level 1 nicht. Denn entweder ist A = 1 oder B = 1 (also true) oder beide sind 1. Letzteres kann mit Xor aber nicht abgebildet werden.
Da du schon eine Komplettlösung bekommen hast, hier mal der Teil für Level 1, rein auf Logik bezogen. Also auf die Boolesche Algebra:
Sub LvlAusgabe()
Dim result As String
Dim a As Boolean
Dim b As Boolean
Dim f As Boolean
Dim g As Boolean
a = IIf(Range("E3") = 1, True, False)
b = IIf(Range("E8") = 1, True, False)
f = IIf(Range("E13") = 1, True, False)
g = IIf(Range("E18") = 1, True, False)
If (a Or b) And Not (f Or g) Then
result = "A, B oder AB" 'Ist Lvl 1
ElseIf f And Not (a Or b Or g) Then
result = "F" 'Ist auch Lvl 1
ElseIf g And Not (a Or b Or f) Then
result = "G" 'Ist auch Lvl 1
Else
result = "Bitte ankreuzen"
End If
Range("G2") = result
End Sub
|