반응형
전달자 또는 파라미터라 부르는 놈을 우리는 잘 알고 있으며 잘 사용하기도 한다.
vba에서 대표적인(?) 파라미터를 들자면 msgbox 함수가 있다.
메세지 박스를 띄우는 함수인데 파라미터가 엄청 많다. 여기서 필수 항목은 맨 앞에 있는 Prompt이다. 메세지 내용을 담당하고 있어서 그런지 필수적으로 들어가야 할 내용인가보다. 그 뒤에 나오는 애들은 있든 없든 메세지 박스 실행에 전혀 영향을 주지 않는다. 그런 필수항목인 프롬프트를 설정하지 않으면 다음과 같은 오류를 볼 수 있을 것이다.
내가 만들 프로시저나 함수에는 저런 오류메세지가 안뜨도록 선택적 인수로 가득하게 해보자.
선택적 인수를 만들기 위해선 Optional을 붙여주자
Sub Test(X As Integer, Optional Y As Integer)
Debug.Print X + Y
End Sub
Sub Main()
Call Test(1)
End Sub
두 개의 프로시저를 생성했고 TEST 프로시저는 X와 Y를 더한 값을 직접 실행창에 보여준다. 여기서 X는 필수, Y는 선택적 인수로 만들었다. 그리고 Main 프로시저는 Test 프로시저에 인수를 전달하고 호출하는 역할이다.
위 코드를 실행하면 다음과 같은 결과를 얻을 수 있다.
반응형
'컴퓨터 공부 > 엑셀 & VBA' 카테고리의 다른 글
[엑셀vba] Msgbox를 이용해서 메세지 팝업창을 띄워보자!(feat. 줄바꿈, 버튼 형식) (4) | 2021.09.09 |
---|---|
[엑셀vba] 사용자 정의 폼 - Label, TextBox 텍스트의 세로 정렬을 가운데로 해보자! (0) | 2021.08.28 |
[엑셀vba] 사용자 정의폼 KeyDown 이벤트 - KeyCode 파라미터 (0) | 2021.08.20 |
[엑셀vba] AccessDB 테이블에 엑셀 파일로 한 번에 대량 데이터 입력하기 (0) | 2021.08.16 |
[엑셀vba] 파일을 삭제해보즈아!(kill) (3) | 2021.07.27 |