excel
16.07.2020 19:59:00
Jörg
habe eine komplexe Kalkulationstabelle mit sehr vielen numerischen Eingabefeldern.
Und auch sehr vielen Dropdownauswahlisten direkt im Sheet.
Die Dropdowns werden werden über Selection_Change aufgerufen und der Inhalt dann jeweils
über Macros berechnet und befüllt
Wenn ich nun mit den Pfeiltasten mich im sheet hoch, runter, links und rechts bewege, bleibe ich an den Dropdowns - Zellen "hängen" bis diese geladen sind, das dauert immer ca. 0,1 bis 0,9 sec je nach dem.
Das Navigieren im sheet über die Pfeiltasten ist deshalb zäh wie Honig.
Das Problem habe ich in den simplen Code übersetzt mit einem Lösungsansatz der aber nicht funktioniert.
'------------------------
' im Worksheet
' damit wird das Navigieren mit den Pfeiltasten sehr zäh
' -----------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim i
For i = 1 To 3000
If ArrowKeyPress Then Exit For ' sollte den "Ladevorgang" abbrechen
[a1] = i
Next
End Sub
'------ in Modul
'------ funktioniert aber nicht
Private Declare Function GetAsyncKeyState Lib "User32" (ByVal vKey As Long) As Integer
Private Const VK_LEFT = &H25 ' Linke Pfeiltaste
Private Const VK_UP = &H26 ' Obere Pfeiltaste
Private Const VK_RIGHT = &H27 ' Rechte Pfeiltaste
Private Const VK_DOWN = &H28 ' Untere Pfeiltaste
Public Function ArrowKeyPress() As Boolean
' funktioniert so nicht
' If GetAsyncKeyState(VK_UP) 0 Then ArrowKeyPress = True
End Function