Я хочу сделать Makro с VBA, который измеряет время, которое пользователь нажимает на клавишу, например Space. И когда пользователь перестает нажимать на него, время сохраняется и добавляется к времени, когда клавиша снова нажата.VBA получить количество времени, когда нажата клавиша
Im новое для VBA и некоторые проблемы с синтаксисом. Таким образом, я нашел функции keyUP и keyDown here, но кажется, что я использовал его неправильно.
Мой код до сих пор:
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
Извините за вопрос, но вы пытаетесь использовать это как событие формы, не так ли? – Pav
Это должно произойти, если пользователь нажимает клавишу пробела где-то в документе excel. –
Правильно, код, который вы отправили, немного вводит в заблуждение, так как form_KeyDown - это событие, инициированное в формах, а не в листах. Следовательно, решение, представленное Томасом Инзиной (хороший!), Не будет работать. – Pav