in einem Rechnungsformular sind nur die Eingabefelder auswählbar, der Rest der Tabelle ist gesperrt. Pro Rechnungszeile kann der Anwender lediglich zwei Positionen ändern: Dauer und Beschreibung der Tätigkeit. Die Fortlaufende Nummer, der Stundensatz etc. sind vorgegeben und die entsprechenden Zellen nicht anwählbar. Gibt der Anwender die Tätigkeitsbeschreibung für die letzte abzurechnende Tätigkeit ein (befindet er sich also in der letzten auswählbaren Zelle des Sheets) und drückt dann Enter, springt der Cursor aus dem Bild zu einer (freigegebenen) Zelle, die den Stundensatz enthält. Das ist hässlich. Wie kann ich es hinkriegen, dass nur in der jeweils letzten Eingabezelle (die Spalte bleibt immer gleich, aber die Zeile ändert sich je nach Anzahl der Rechnungsposten) der Druck auf die Enter-Taste nichts bewirkt?
Mein Code sieht derzeit so aus:
Sub EnterTaste()
If Not Intersect(Selection, Cells(Cells(2, 13).Value, 5)) Is Nothing Then
KeyCode = 0
End If
End Sub
Aufgerufen wird die Routine durch einen Eintrag im Workbook_Open:
Application.OnKey "~", "EnterTaste"
Der Effekt ist allerdings, dass der Cursor gar nicht mehr weiterspringt, egal in welcher (freigegebenen) Zelle er sich befindet.
Hätte jemand eine Idee?
Danke vorab und beste Grüße
Stefano