모두CBT

다음 중 아래의 서브 프로시저를 호출하는 방법으로 옳은 것은?Sub T… | [컴퓨터활용능력 1급 필기] 13년 2회차 기출문제 상세 페이지

1[컴퓨터활용능력 1급 필기] 13년 2회차
다음 중 아래의 서브 프로시저를 호출하는 방법으로 옳은 것은?

Sub TEST(단가, 수량, 이름)
   Dim 합계 As Long
   합계 = 단가 * 수량
   MsgBox 이름 & "의 금액 : "& 합계
End Sub

1
TEST(200, 500, "이순신")
2
TEST 200, 500, "이순신"
3
Call TEST 200, 500, "이순신"
4
=TEST(200, 500, "이순신")
해설

제시된 코드는 Sub TEST(단가, 수량, 이름)으로 선언된 서브 프로시저로, 합계 = 단가 * 수량을 계산해 이름 & "의 금액 : " & 합계를 메시지 상자로 표시합니다. 매개변수가 세 개이므로 호출할 때도 인수 세 개를 넘겨야 합니다.

VBA에서 Sub 프로시저를 호출하는 방법은 두 가지입니다. Call 키워드를 쓰면 인수를 괄호로 묶어 Call TEST(200, 500, "이순신") 형태로 적고, Call을 생략하면 괄호 없이 인수만 쉼표로 나열해 TEST 200, 500, "이순신"과 같이 적습니다. 따라서 Call 없이 괄호를 빼고 인수를 나열한 호출이 올바릅니다.

Call을 생략하면서 괄호를 쓴 TEST(200, 500, "이순신")은 인수가 두 개 이상일 때 구문 오류가 나고, Call을 쓰면서 괄호를 뺀 Call TEST 200, 500, "이순신" 역시 오류입니다. 또 등호(=)로 시작하는 형태는 워크시트에서 값을 돌려받는 함수 호출 방식이라, 반환 값이 없는 Sub 프로시저에는 쓸 수 없습니다.

내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.