책 내용 질문하기
컴활 기본서 251쪽 2번 문제
도서
2026 시나공 컴퓨터활용능력1급 필기 기본서
페이지
251
조회수
184
작성일
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, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.