모두CBT

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

1[컴퓨터활용능력 1급 필기] 10년 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(단가, 수량, 이름) 으로 선언되어 인수를 세 개 받는다. 내부에서 합계 = 단가 * 수량 을 계산한 뒤 MsgBox 로 이름과 금액을 이어 붙여 표시한다.

Sub 프로시저는 반환값이 없으므로 Call 문 없이 호출할 때는 괄호를 쓰지 않고 인수를 쉼표로 나열한다. 따라서 TEST 200, 500, "이순신" 형태가 옳다.

반대로 Call 을 붙여 호출할 때는 반드시 Call TEST(200, 500, "이순신") 처럼 인수를 괄호로 묶어야 한다. 인수가 둘 이상인데 Call 없이 괄호를 쓰거나 Call 을 쓰면서 괄호를 빼면 문법 오류가 난다. 앞에 등호(=)를 붙이는 것은 워크시트에서 함수를 쓰는 방식이라 VBA 프로시저 호출에는 쓸 수 없다.

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