ersteres ließe sich mit der Gültigkeit machen, aber für das automatische Setzen der Null braucht es meines Wissens ein Makro. Dieses Makro in das Klassenmodul des Tabellenblattes eintragen:
Viel Spaß,
Andreas
Du musst für jede Zelle in Spalte B eine Gültigkeitsprüfung festlegen - Vorgehen:
markiere Zelle B2;
im Menü "Daten" das Untemenü "Gültigkeit" aufrufen;
im Register "Einstellungen" im Feld "Zulassungen" "Benutzerdefiniert" wählen;
im Feld Formel folgende Formel eingeben: =WENN(ODER(B2=0;UND(B2=1;B3=0;B4=0;B5=0));WAHR;FALSCH);
entferne den Haken bei "Leere Zellen ignorieren";
falls Benutzerfreundlichkeit gefragt ist, kannst du im Register "Fehlermeldung" noch eine eigene definieren (ansonsten kommt bei Fehleingabe die Standard-Meldung);
Abschluss der Gültigkeitsdefinition mit Klick auf OK
Vorgehen für die weiteren Zellen:
Kopieren von B2 nach B3;
Aufruf der Gültigkeitsprüfung;
Im Register "Einstellungen" 'nur' noch die Formel anpassen: =WENN(ODER(B3=0;UND(B3=1;B4=0;B5=0;B1=0));WAHR;FALSCH) - die Bezüge haben sich ja durch die relative Adressierung angepasst, du musst nur noch den letzten anpassen von B6 auf B1;
Abschluss det Gültigkeitsdefinition mit Klick auf OK
Kopieren von B3 nach B4;
Anpassen des letzten Bezugs in der Formel
usw.
Hoffentlich kommst du damit klar
Gruß
Micha
es geht auch etwas kürzer ;-)
Annahme dabei, es kann nur dann ein Wert eingetragen werden, wenn alle Zellen 0 sind (außer in die etwas eingetragen wird)!
Also alle relvanten Zellen im Bereich markieren, dann auf Menü Daten, Gültigkeit...
Dort Zulassen Benutzerdefiniert, Formel:
=ZÄHLENWENN($B$2:$B$5;"<>0")<2
In der Formel den Bereich noch anpassen...
Viel Spaß,
Andreas
ihr seid ja scheller als die Polizei erlaubt.
vielen Dank für dies super Vorschläge,
die natürlich funktionieren.
Gruß Robert
da fällt mir noch eine Frage ein.
Welchen Zweck hat die Variable "blnMerker" in Deinem code ?
Irgendwie verstehe ich das mit diesen Variablen noch nicht.
Gruß Robert
etwas schwer zu erklären...
Also vom Prinzip her geht dass Makro so vor:
Setze alle Zellen außer Target auf Null!
Dabei wird bei der Änderung der Zellen allerdings wieder das Change_Ereignis aufgerufen. Ohne den Merker würden jetzt wiederum alle Zellen ungleich Target auf Null gesetzt usw.
Das würde immer weiter so gehen, und quasi eine Endlosschleife bilden.
Durch den Merker wird sichergestellt, dass das Change_Ereignis beim auf Null setzen, ins "Leere" läuft.
Für die Wirkungsweise kannst Du auch einen Haltepunkt bei der If-Bedingung setzen und schrittweise den Code ausführen.
Andreas