Re: Worksheet_Change bedingt ausführen
08.03.2003 08:15:05
Jens_Pu
Hallo Hajo,ist recht kompliziert. Ich versuch es mal.
Die Werte in der Tabelle können entweder durch direkte Eingabe in die Tabelle,
oder durch eine Userform Eingabemaske geändert werden.
1. Eingabe in Tabelle:
Bei der Eingabe direkt in die Tabelle, wird über das Worksheet_Change Ereignis jeweils die nächste Eingabezelle angesprungen (z.B. Target.Offset(0, 3).Select).
Außerdem werden in Abhängigkeit der Werte die Zellfarben verändert.
2. Eingabe über Eingabemaske
Beim Verlassen der Eingabemaske werden die Textfeldwerte der Userform in die jeweiligen Zellen geschrieben.
Auch hier wird, und soll das Worksheet_Change Ereignis aufgerufen werden, damit die Anpassung der Zellfarben durchgeführt wird.
Problem: Ich muß innerhalb des Worksheet_Change Ereignisses unterscheiden können zwischen Tabelleneingabe und Formulareingabe.
Z.B. If Tabelleneingabe Then Target.Offset(0, 3).Select)
Mache ich das nicht, so kommt mir meine Formularsteuerung wegen verschobener Referenz durcheinander.
Mit Application.EnableEvents = False/True bei der UserForm_Initialize würde ich keine Farbsteuerung erhalten.
Ich hoffe das ist einigermaßen verständlich.
Gruß Jens