Ich möchte ein Makro mit VBA machen, die die Zeit misst, die der Benutzer eine Taste drückt, zum Beispiel Space. Und wenn der Benutzer es nicht mehr drückt, wird die Zeit gespeichert und zu der Zeit hinzugefügt, wenn die Taste erneut gedrückt wird.VBA Zeit erhalten eine Taste gedrückt
Ich bin neu in VBA und habe einige Probleme mit der Syntax. So fand ich die keyUP- und keyDown-Funktionen here, aber es scheint, dass ich es falsch benutze.
Mein Code so weit:
Sub KeyTime()
Time_old = 0
Range("A1").Value = Time_old
If Form_KeyDown(vbKeySpace, 0) Then
Start_time = Timer
If Form_KeyUp(vbKeySpace, 0) Then
End_time = Timer
Time = End_time - Start_time + Time_old
Time_old = Time
Range("A1").Value = Time_old
End If
End If
End Sub
Es tut uns fragen, aber Sie versuchen, dies als ein Ereignis der Form zu verwenden, nicht wahr? – Pav
Es sollte passieren, wenn der Benutzer irgendwo im Excel-Dokument die Leertaste drückt. –
Richtig, der von Ihnen gepostete Code war etwas irreführend, da form_KeyDown ein Ereignis ist, das in Formularen ausgelöst wird, nicht in Arbeitsblättern. Daher wird die von Thomas Inzina vorgestellte Lösung (eine schöne!) Nicht funktionieren. – Pav