Supportnet / Forum / Tabellenkalkulation
Ergebnis einer Gültigkeitsregel wieder eine Gültigkeitsregel
Frage
Hallo,
ich habe folgendes Problem:
Das Ergebnis aus einer Gültigkeitsregel soll bestimmen, welche Gültigkeitsregel in der nächsten Zeile in kraft tritt.
Oder so beschrieben:
In A1 ist eine Gültigkeitsregel die zur Auswahl "1", "2" und "3" zulässt. Wenn "2" gewählt wird soll eine Gültigkeitsregel in kraft treten, die die Ergebnisse "20" und "21" zulässt und wenn "3" gewählt wird eben nur die "30" und "31".
Wie kann ich das realisieren?
mfg TILT01
Antwort 1 von Saarbauer
Hallo,
was du willst ist wahrscheinlich nur mit VBA zu machen.
Es sind vereschachtelte Gültigkeitsregeln, ist mit Excel alleine nach meinem Kenntnisstand nicht hinzukriegen.
Gruß
Helmut
was du willst ist wahrscheinlich nur mit VBA zu machen.
Es sind vereschachtelte Gültigkeitsregeln, ist mit Excel alleine nach meinem Kenntnisstand nicht hinzukriegen.
Gruß
Helmut
Antwort 2 von TILT01
Wie würde denn der code für so ein VBA aussehen? Vielleicht bekomm ich da ja hin :)
Antwort 3 von Saarbauer
Hallo,
das ist schon etwas Aufwand und nicht mal eben so zu machen, müßte mit verschachtelten Ebenen funktionieren. Einen passenden Code habe ich nicht müßte ich auch entwickeln.
Gruß
Helmut
das ist schon etwas Aufwand und nicht mal eben so zu machen, müßte mit verschachtelten Ebenen funktionieren. Einen passenden Code habe ich nicht müßte ich auch entwickeln.
Gruß
Helmut
Antwort 4 von Primut
Hi TILT01,
na ja, mit ein wenig tricksen geht das schon.
Als Gültigkeitskriterium kannst du ganz einfach Listen
zulassen. Sinnvoll ist dabei, dem Listenbereich einen Namen zu geben und dann bei Quelle einfach =Listenname einzutragen.
Der Trick besteht darin, daß du dann eine "feste" Liste als Gültigkeitskriterium gesetzt hast, sich jedoch durchaus die Werte innerhalb dieser Liste verändern können.
Und das läßt sich mit der Wenn-Abfrage ja gut erreichen.
Du mußt also nur irgendwo für deine Liste zwei Felder definieren und dort die gewünschten Werte zuordnen, zB:
=WENN(A1=1;10;WENN(A1=2;20;30))
=WENN(A1=1;11;WENN(A1=2;21;31))
Diese Gültigkeitsprüfung ist jedoch nicht rückbezüglich, d.h. wenn du nach zweitem Kriterium ausgewählt hast und das erste Kriterium änderst, passiert nichts.
Gruß Primut
na ja, mit ein wenig tricksen geht das schon.
Als Gültigkeitskriterium kannst du ganz einfach Listen
zulassen. Sinnvoll ist dabei, dem Listenbereich einen Namen zu geben und dann bei Quelle einfach =Listenname einzutragen.
Der Trick besteht darin, daß du dann eine "feste" Liste als Gültigkeitskriterium gesetzt hast, sich jedoch durchaus die Werte innerhalb dieser Liste verändern können.
Und das läßt sich mit der Wenn-Abfrage ja gut erreichen.
Du mußt also nur irgendwo für deine Liste zwei Felder definieren und dort die gewünschten Werte zuordnen, zB:
=WENN(A1=1;10;WENN(A1=2;20;30))
=WENN(A1=1;11;WENN(A1=2;21;31))
Diese Gültigkeitsprüfung ist jedoch nicht rückbezüglich, d.h. wenn du nach zweitem Kriterium ausgewählt hast und das erste Kriterium änderst, passiert nichts.
Gruß Primut
Antwort 5 von Event
Hallo
Hoffe Du kommst klar:
..wenn nicht - melde Dich nochmal...
Gruß
Hoffe Du kommst klar:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$A$2" Then Exit Sub
If Target = "" Then Exit Sub
Select Case Range("A1").Value
Case Is = 1
If Target = 10 Then Exit Sub
If Target = 11 Then Exit Sub
Target.Value = ""
MsgBox "Falscher Wert ! 10 oder 11 erlaubt "
Range(Target.Address).Select
Case Is = 2
If Target = 20 Then Exit Sub
If Target = 21 Then Exit Sub
Target.Value = ""
MsgBox "Falscher Wert ! 20 oder 21 erlaubt "
Range(Target.Address).Select
Case Is = 3
If Target = 30 Then Exit Sub
If Target = 31 Then Exit Sub
Target.Value = ""
MsgBox "Falscher Wert ! 30 oder 31 erlaubt "
Range(Target.Address).Select
End Select
End Sub
..wenn nicht - melde Dich nochmal...
Gruß

