![]() |
||
![]() |
Eingabebestätigung für Excel-FormulareIch programmiere unter Excel 97 Formulare, mit denen andere Daten erfassen sollen. Um dem Anwender das Verständnis der Eingabewerte zu vereinfachen, setze ich Vorgabewerte ein. Dabei ergibt sich aber das Problem, daß die Leute nicht sofort erkennen können, ob alle nötigen Angaben gemacht oder noch einige Vorgabewerte zu überschreiben sind. Ich würde deshalb gerne die bereits geänderten Felder in einer anderen Farbe darstellen. Ist das möglich? Ja, es ist in Excel sogar relativ einfach. Da Sie sicherlich das Formular als Template gestaltet haben, werden die Daten ja nur einmal – bei der Neuanlage des Vorgangs – geändert. Mit Hilfe des Ereignisses SheetChange eines Workbook-Objekts können Sie gezielt auf jede Änderung innerhalb eines Tabellenblatts reagieren. Wenn Sie die Vorgabewerte beispielsweise in Blau eintragen, können Sie die Schriftfarbe nach der Änderung der Zelle in Rot ändern. Private Sub Workbook_SheetChange (ByVal Sh As Object, ByVal Target As Excel .Range)¶Das Ereignis wird bei jeder Änderung innerhalb dieser Arbeitsmappe automatisch ausgelöst. Der Parameter Sh bezeichnet dabei das von der Änderung betroffene Tabellenblatt, Target gibt den von der Änderung betroffenen Bereich an. Falls Sie mehrere Tabellenblätter haben, die Änderungen aber nur in einem kennzeichnen möchten, können Sie zunächst die Eigenschaft Name des Tabellenblatts überprüfen. Wenn es sich um das richtige Tabellenblatt handelt, weisen Sie der Eigenschaft Color des Font-Objekts in dem geänderten Bereich die Farbe Rot zu. Und schon haben Sie Ihr Ziel erreicht. |
![]() |