Wenn die Selektion eine Zelle verlässt
24.08.2018 15:23:01
Felix
nach ewigem Herumgesuche in den Excel-Foren dieser Welt konnte ich keine Lösung zu meinem Problem finden. Ich hoffe ihr könnt mir helfen.
Das Problem ist eigentlich recht simpel.
Ich habe eine Eingabemaske (auf einem Arbeitsblatt) mit 8 Feldern, einem DropDown und danach einem weiteren Feld (Bemerkungen). Am unteren Ende steht ein Button, welcher die eingetragenen Daten in einer Tabelle auf dem zweiten Arbeitsblatt speichert.
Ich möchte nun, dass der Nutzer seine Eingaben ausschließlich mit der Tastatur erledigen kann. Durch den Blattschutz ist es kein Problem, dass er von Zelle zu Zelle (mit Enter) springt, ohne in eine Falsche zu geraten.
Ich habe nun über die Worksheet_Change Funktion ein kleines Script geschrieben. Wenn in der Bemerkungszelle eine Eingabe getätigt wird, wird eine MsgBox aufgerufen, die fragt ob die Eingaben ok sind und bei "ja" sie in Tabelle2 speichert (führt die Prozedur des Buttons aus).
Worin liegt nun das Problem?
Die Bemerkungszelle muss nicht gefüllt werden. Sie kann auch leer bleiben. Das Problem ist, die Worksheet_Change Funktion erkennt ja nur eine Änderung, wenn die Zelle im "Bearbeitungsmodus" war (also mit F2 oder Doppelklick betätigt).
Ich habe mir versucht mit SendKeys zu behelfen, aber das zerhaut mir im weiteren Verlauf des Programms einige Prozeduren.
1. Frage: Kann man SendKeys nur einmalig ausführen?
2. (wichtigere) Frage: Gibt es eine Prozedur, die erkennt wenn die Selektion von der Bemerkungszelle weggenommen wird?
Die Zelle, die danach angesteuert wird, ist wieder die erste Eingabezelle. Deshalb fällt die Prüfung "ob diese Zelle selektiert wurde" auch weg. (Es laufen andere Worksheet_Changes für die 1. Zelle)
Vielen Dank schon mal und ein schönes Wochenende!