반응형
사용자 정의 폼에서 키보드 입력을 받고 이벤트를 실행해보자!
1. 키 입력받는 코드
입력받은 키 값을 표시할 용도로 레이블 하나를 생성하고
키를 입력했을 때 폼 화면에 나타나도록 만들어봤다.
키 입력이 있을 때만 표시하고 입력이 없으면 표시되지 않는다.
Private Sub UserForm_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Dim Key As String
Key = Chr(KeyAscii)
Label1.Caption = Key
End Sub
사용자 정의 폼에서 아무 키를 누르면 아스키코드의 10진수로 UserForm_KeyPress에 전달된다.
ex) A = 65, a = 97
소문자 a를 입력하면 여기에 해당하는 아스키코드값인 97이 전달되고
chr 함수를 이용해 문자로 바꿔주는 작업을 진행했다.
위에 나온 코드만 사용 할 경우 a를 눌렀다 떼도 a가 그대로 화면에 나타난다.
키 입력이 중지됬을 때 화면에 아무 표시 안 나게 하는 건 아래 코드를 참고하면 된다.
2. 키 입력 없을 때 화면 비우기
Private Sub UserForm_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
Label1.Caption = ""
End Sub
KeyUp은 키를 뗐을때 발생하는 이벤트이다..
어떤 키를 눌렀다 떼더라도 레이블의 캡션은 아무것도 없도록 바뀐다.
반응형
'컴퓨터 공부 > 엑셀 & VBA' 카테고리의 다른 글
[엑셀vba] 모듈이 아니라 변수나 프로시저가 필요합니다. (0) | 2020.09.09 |
---|---|
[엑셀vba] Module 이름을 바꿔보자 (0) | 2020.09.09 |
[엑셀vba] 사용자 정의 폼 실행 중에 컨트롤 추가하기 (3) | 2020.09.08 |
[엑셀vba] 엑셀없이 사용자 정의 폼을 실행해보자 (0) | 2020.08.31 |
[엑셀vba] 파워포인트 제어하기 (0) | 2020.08.27 |