책 내용 질문하기
컴활 기본서 251쪽 2번 문제
도서
2026 시나공 컴퓨터활용능력1급 필기 기본서
페이지
251
조회수
23
작성일
2026-09-02
작성자
박*현
첨부파일


어떻게 2번이 정답인가요...?

답변
2026-09-03 09:18:32

안녕하세요.

②가 정답인 이유는 VBA에서 Sub 프로시저를 Call 없이 호출할 때는 인수를 괄호로 묶지 않는 것이 기본 문법이기 때문입니다.

문제의 프로시저는

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

이고, 이를 호출하는 대표적인 두 가지 방법은 다음과 같습니다.

TEST 200, 500, "이순신"

또는 Call을 사용하여

Call TEST(200, 500, "이순신")

입니다.

따라서 각 보기를 보면,

TEST(200, 500, "이순신")

Call 없이 여러 인수를 괄호로 묶었으므로 올바른 일반 호출 형식이 아닙니다.

TEST 200, 500, "이순신"

정상적인 Sub 호출 방법이므로 정답입니다.

Call TEST 200, 500, "이순신"

Call을 사용했다면 인수를 괄호로 묶어야 합니다.

Call TEST(200, 500, "이순신")

으로 고쳐야 합니다.

=TEST(200, 500, "이순신")

→ Excel 셀 수식처럼 작성한 것이므로 VBA의 Sub 호출 방법이 아닙니다.

시험에서는 다음 두 형태를 세트로 기억하시면 됩니다.

Call 없음 → TEST 200, 500, "이순신"

Call 있음 → Call TEST(200, 500, "이순신")

Call이 없으면 괄호도 없고, Call이 있으면 괄호가 있다고 기억하면 이 문제는 쉽게 구분할 수 있습니다.

따라서 문제의 해설과 ② 정답은 정확합니다.

즐거운 하루 되세요.

  • 관리자
    2026-09-03 09:18:32

    안녕하세요.

    ②가 정답인 이유는 VBA에서 Sub 프로시저를 Call 없이 호출할 때는 인수를 괄호로 묶지 않는 것이 기본 문법이기 때문입니다.

    문제의 프로시저는

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

    이고, 이를 호출하는 대표적인 두 가지 방법은 다음과 같습니다.

    TEST 200, 500, "이순신"

    또는 Call을 사용하여

    Call TEST(200, 500, "이순신")

    입니다.

    따라서 각 보기를 보면,

    TEST(200, 500, "이순신")

    Call 없이 여러 인수를 괄호로 묶었으므로 올바른 일반 호출 형식이 아닙니다.

    TEST 200, 500, "이순신"

    정상적인 Sub 호출 방법이므로 정답입니다.

    Call TEST 200, 500, "이순신"

    Call을 사용했다면 인수를 괄호로 묶어야 합니다.

    Call TEST(200, 500, "이순신")

    으로 고쳐야 합니다.

    =TEST(200, 500, "이순신")

    → Excel 셀 수식처럼 작성한 것이므로 VBA의 Sub 호출 방법이 아닙니다.

    시험에서는 다음 두 형태를 세트로 기억하시면 됩니다.

    Call 없음 → TEST 200, 500, "이순신"
    
    Call 있음 → Call TEST(200, 500, "이순신")

    Call이 없으면 괄호도 없고, Call이 있으면 괄호가 있다고 기억하면 이 문제는 쉽게 구분할 수 있습니다.

    따라서 문제의 해설과 ② 정답은 정확합니다.

    즐거운 하루 되세요.

· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.