안녕하세요. Crazy M2M입니다.
오늘은 양식 컨트롤 매크로 함수로 인자 보내는 방법에 대해서 알아보도록 하겠습니다.
VBA 양식 컨트롤을 사용해서 동일 기능을 수행해야 하는 경우가 생기는데요.
이럴 때 양식 컨트롤 매크로를 지정해서 사용이 가능합니다.
근데 동일 기능을 하는 양식 컨트롤이 있다면 양식 컨트롤마다 매크로를 지정하는 것은 비효율적이지요.
이럴 때 동일한 매크로를 사용하면서 양식컨트롤에 인자를 할당해서 매크로에 전달하면 됩니다.
그럼 어떻게 그것을 할 수 있는지?
지금 바로 알아보도록 하겠습니다.
먼저 개발 도구 탭에 Visual Basic을 클릭해서 코드를 먼저 생성해 줄게요.
개발 도구 탭이 안 보인다면 아래 링크를 참고하세요.
https://crazy-m2m.tistory.com/90
VBA 코드 상자가 나타났습니다.
엑셀 시트 개체를 선택하고 오른쪽 클릭 - 삽입 - 모듈을 선택해 주세요.
함수를 아래와 같이 작성해 줍니다.
양식 컨트롤에 지정될 매크로 함수입니다.
인자로 정수를 받아들이고, 이 값을 메시지 박스에 보여주는 기능을 하는 함수입니다.
Sub get_parameter(ByVal value As Integer)
MsgBox "parameter : " + Str(value)
End Sub
아래처럼 함수 생성을 완료하였습니다. ㅎㅎㅎ
이제 함수 생성이 완료되었으니 이제 양식 컨트롤을 삽입해 주겠습니다.
이해를 돕기 위해 간단히 버튼으로 선택해서 추가해 줄게요.
버튼을 선택하고 엑셀 시트에서 드래그를 해서 생성해 주겠습니다.
그럼 매크로를 지정하라고 나오는데 그냥 취소를 눌러서 양식 컨트롤만 추가해 줄게요.
나중에 한꺼번에 등록하는 게 편하니 이점 참고하세요. ^^
이렇게 총 4개의 버튼을 생성하였습니다.
각 버튼마다 고유한 값을 인자로 보내주기 위해서 여러 개의 버튼을 생성하였습니다.
버튼 생성이 완료되었으니 이제 하나하나 매크로를 지정해 볼게요.
먼저 첫 번째 버튼에 오른쪽 클릭 - 매크로 지정을 클릭합니다.
매크로 지정 창이 떴습니다.
여기에 아래와 같이 입력하면 됩니다.
get_parameter를 매크로 지정 함수로 사용을 하고 그때 인자를 1을 보내겠다는 의미입니다.
별거는 없는데 이게 키포인트입니다. ㅎㅎㅎ
'get_paramerter 1'
확인을 눌러서 매크로 지정을 완료합니다.
이번에 두 번째 버튼에 오른쪽 클릭 - 매크로 지정을 클릭합니다.
이번엔 인자를 2를 사용하겠습니다.
버튼마다 구분이 되어야 하니까요^^
'get_paramerter 2'
세 번째 버튼도 동일하게 진행합니다.
'get_paramerter 3'
4번째 버튼도 동일!!!
'get_paramerter 4'
이제 모든 버튼에 매크로 지정이 완료되었습니다.
버튼을 눌러 기능이 정상적으로 되는지 확인해 봐야겠지요. ㅎㅎㅎ
첫 번째 버튼을 클릭하니!!!
대박 ~~~
인자 1이 정확히 전달되었습니다. ~~~
두 번째 버튼을 클릭하니 2가 전달됩니다.
3번째 버튼은 3이 전달 ^^
4번째 버튼은 4가 전달 ^^
깔끔하네요.
이렇게 동일 기능에서 인자를 이용해서 함수를 사용하면 함수의 사용 효율도 좋아지고 ~~~
가독성도 높은 코드가 됩니다.
그리고 불필요한 코드를 줄일 수 있으니 손이 덜 아프겠지요?
이것으로 양식 컨트롤 매크로 함수로 인자 보내는 방법 포스팅을 마치겠습니다.
그럼 오늘도 칼퇴근!!!
'Excel and VBA' 카테고리의 다른 글
[Excel VBA] Excel VBA Sheet 및 Code 암호 설정하는 방법 (0) | 2023.06.20 |
---|---|
[엑셀] 국가번호 휴대폰 전화번호 셀서식 적용하는 방법 (0) | 2023.03.19 |
[엑셀] 사용자 워터 마크 이미지 적용하는 방법 (1) | 2023.03.19 |
[엑셀] VBA 모듈 소스를 다른 엑셀 문서에 복사하는 방법 (1) | 2023.03.19 |
[엑셀] 머리글 바닥글 짝수 홀수 페이지 설정하는 방법 (1) | 2023.03.12 |