folgendes Ziel:
Ich möchte auf einem einzigen WKS den Zellwechsel nach drücken folgender Tasten modifizieren: Return, Enter, Pfeil hoch, Pfeil runter.
Der Zell-Wechsel soll anhand einer Liste erfolgen, also unregelmäßig. Dabei soll nach drücken von 'Return', 'Enter', 'Pfeil runter' (Alternative Tab) die Liste vorwärts abgerufen werden und nach drücken von 'Pfeil hoch' (Alternative Shift-Tab) rückwärts.
Beispiel bei konstanter Spalte:
Cursor auf Zeile 3 - return - Zeile 7 - return - Zeile 2
Cursor auf Zeile 2 - PfeilHoch - Zeile 7 - PfeilHoch - Zeile 3
Die Sprung-Tabelle ist nicht das geringste Problem, jedoch die Auswertung der Tasten.
Ich schwanke zwischen zwei Varianten:
1)
Mittels onkey die Taste abfangen und das nötige Script starten. Das große Problem ist folgendes, so wie ich das sehe, müsste man die Definierung/Rück-Definierung der Tasten, mit nicht weniger als 6 Events steuern, damit die Änderungen bei anderen Workbooks oder Worksheets gesetzt/rückgesetzt wird.
Tasten umdefinieren bei:
Workbook_Open
Workbook_Activate
Worksheet_Activate
Zurück ändern bei:
Workbook_Deactivate
Workbook_BeforeClose
Worksheet_Deactivate
Schwierig ist das nicht, aber umständlich. Außerdem werden vielleicht ungewollte Effekte hervorgerufen.
2)
Theoretisch einfacher, nur das Worksheet auf Änderung überwachen. Fehlanzeige, denn wenn ich eine Zelle der Liste nicht ändern muss, weil der Zellinhalt schon stimmt, feuert das Ereignis bei Return-Druck nicht.
2a)
Den Selection_Change auf den Worksheet überwachen. Diese Variante scheitert aus zwei Gründen. Zum einen wird das erst anklichen einer Zelle bereits als Selection_Change ausgelegt, ich glaube das wird ein Problem. Desweiteren kann ich wohl nicht auswerten, von welcher Zelle zu welcher Zelle, der Selektion_Change stattfindet. Somit hätte ich nur für den Vorwärtslauf ein Event, ich könnte aber nicht erkennen, ob Pfeil hoch, oder gar seitwärts gedrückt wurde.
Hat jemand eine Idee - vielleicht denke ich zu kompliziert.
Gruß Eddie