Excel VBA Pfeiltasten überwachen?
Wie kann ich in Excel die Pfeiltasten überwachen lassen, d. h., immer wenn ich in der Tabelle "Tabelle1" die rechte Pfeiltaste drücke, soll nicht die Zelle rechts von der aktuellen Zelle ausgewählt werden (wie es ja normal wäre), sondern das Makro "Makro1" ausgeführt werden.
Geht das überhaupt?
1 Antwort
Vom Beitragsersteller als hilfreich ausgezeichnet
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
Computer
Das geht mit dem Keypress Event OnKey, das immer dann auslöst, wenn eine Taste gedrückt wird. Das Event liefert dann die gedrückte Taste, so dass man dann per IF Bedingung prüfen kann ob es die gewünschte Taste ist oder nicht und entsprechende Aktionen/Makros starten kann.
Pfeiltaste wird ein wenig schwieriger, da man hier den passenden Unicode kennen muss um die IF Bedingung zu stricken.
Ich würde es erst einmal so angehen:
- OnKey Event basteln, welches einfach in Zelle A1 von 0 hochzählt. Damit kann ich sehen ob mein Makro korrekt arbeitet.
- Dann in Spalte B nacheinander die ermittelte Taste in Unicode ausgeben lassen. Dadurch kann ich mir eine Liste aller notwendigen Unicode Werte erstellen in dem ich die entsprechenden Tasten drücke (Pfeil hoch, Pfeil runter, Tab-Taste, Entf Taste, etc.).
- Die IF Bedingung mit den korrekten Unicode vergleichen was OnKey liefert und das passende Makro starten. Hier kannst du dann auch wieder zusätzlich rückgängig machen, dass ein Pfeil rechts die Zelle rechts markiert hat, in dem du wieder die Zelle links davon selektierst (anders verhindern wirst du das nicht können mit OnKey).
Soviel zur Theorie.