사용자가 키와 같은 시간 (예 : Space)을 측정하는 VBA와 함께 Makro를하고 싶습니다. 그리고 사용자가 누르지 않으면 시간이 저장되고 키를 다시 누르면 시간이 추가됩니다.VBA 키를 누를 때 걸리는 시간
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은 워크 시트가 아닌 폼에서 트리거되는 이벤트이므로 게시 한 코드는 약간 잘못된 것입니다. 따라서 Thomas Inzina (좋은 도구)가 제시 한 해결책은 작동하지 않습니다. – Pav