[엑셀 VBA] Onkey(단축키 설정)을 사용하여 UserForm 열고 닫기

2020. 7. 25. 21:18업무 스킬/Excel VBA

728x90

[Onkey] 메서드는 대부분 [UserForm]을 실행하는 단축키를 지정할 때 많이 사용합니다.

주의할 점은, [Onkey]를 사용한 단축키 지정이 엑셀 단축키와 겹칠 경우, [Onkey]가 상위 포지션에

위치하게 되므로 엑셀 단축키는 작동을 하지 않게 됩니다.

 

때문에 엑셀 단축키가 없는 키나 잘 사용되지 않는 키로 지정하는 것이 좋습니다.

참고로 저는 주로 {F3}키를 사용하여, [UserForm]을 실행합니다.

 

수식에 대해 하나씩 알아보겠습니다.

 

 

[Application.Onkey]까지 작성해주면 위 그림과 같은 형태로 나오게 됩니다.

순서대로

① 단축키로 사용될 Key와

② 단축키로 실행될 Procedure명을 뜻합니다.

 

저는 대부분 {F3}키를 단축키로 사용하기 때문에 아래 그림과 같이 작성합니다.

주의할 점은 단축키 명을 꼭 큰 따옴표("") 안에 들어가야 하며, 실행할 Procedure명도 동일하게 큰 따옴표("")

안에 들어가야 합니다.

 

실행될 Procedure가 있어야하기 때문에, [Onkey]를 설정하기에 앞서 실행될 Procedure를 만들어놔야겠지요

저는 "유저 폼_열기"라는 이름의 [UserForm]을 여는 Procedure을 만들었습니다.

 

단축키 설정은 대부분 [Alt], [Ctrl]와 저처럼 {F1]~{F12}의 Function키를 사용하는데요.

깔끔하게 이 3개의 [Onkey] 작성 문자만 알고 있으면 됩니다.

 

- Alt : %

- Ctrl : ^

- Function : {F숫자}

 

입니다. 예를 들어 내가 [Onkey]를 통해 단축키를 [Ctrl+m]으로 설정하고 싶다

그렇다면

 

Application.Onkey "^m" , "유저 폼_열기"

 

로 작성해주면 됩니다. 주의할 점은 영문을 꼭 소문자로 적어주셔야지 대문자로 적으면

대문자로 단축키가 설정되기 때문에 만약 "^M"으로 설정했다면 단축키 실행 시

[Ctrl] + [Shift] + [m]을 눌러야 되기 때문에 주의해야 합니다.

 

 

728x90