책 내용 질문하기
기출 3-1번 문제
도서
2026 한 권으로 끝내는 시나공 컴활 1급 필기+실기 (컴퓨터활용능력 1급)
페이지
124
조회수
79
작성일
2026-08-26
작성자
오*임
첨부파일

1번 목록 추가 프로시저 작성하고 나서 사진같이 오류가 뜨는데 왜 그런건가요?

답변
2026-08-27 09:52:41

안녕하세요.

오류 원인은 AddItem 뒤에 =을 넣었기 때문입니다.

현재 작성:

cmb지역명.AddItem = "마포구"

AddItem은 값을 대입하는 속성이 아니라 목록에 항목을 추가하는 메서드이므로 = 없이 작성해야 합니다.

다음과 같이 모두 수정하세요.

Private Sub UserForm_Initialize()

    cmb지역명.AddItem "마포구"
    cmb지역명.AddItem "은평구"
    cmb지역명.AddItem "서대문구"
    cmb지역명.AddItem "종로구"

End Sub

따라서 표시된

컴파일 오류입니다: 함수 또는 변수가 필요합니다

라는 메시지는 VBA가 AddItem을 =으로 값을 대입할 함수나 변수처럼 해석하려 했기 때문에 발생한 것입니다.

또한 프로시저 이름 UserForm_Initialize()는 올바르게 작성되어 있습니다. 위와 같이 =만 제거하면 사용자 폼이 열릴 때 콤보 상자에 네 개 지역명이 추가됩니다.

즐거운 하루 되세요.

  • 관리자
    2026-08-27 09:52:41

    안녕하세요.

    오류 원인은 AddItem 뒤에 =을 넣었기 때문입니다.

    현재 작성:

    cmb지역명.AddItem = "마포구"

    AddItem은 값을 대입하는 속성이 아니라 목록에 항목을 추가하는 메서드이므로 = 없이 작성해야 합니다.

    다음과 같이 모두 수정하세요.

    Private Sub UserForm_Initialize()
    
        cmb지역명.AddItem "마포구"
        cmb지역명.AddItem "은평구"
        cmb지역명.AddItem "서대문구"
        cmb지역명.AddItem "종로구"
    
    End Sub

    따라서 표시된

    컴파일 오류입니다: 함수 또는 변수가 필요합니다

    라는 메시지는 VBA가 AddItem을 =으로 값을 대입할 함수나 변수처럼 해석하려 했기 때문에 발생한 것입니다.

    또한 프로시저 이름 UserForm_Initialize()는 올바르게 작성되어 있습니다. 위와 같이 =만 제거하면 사용자 폼이 열릴 때 콤보 상자에 네 개 지역명이 추가됩니다.

    즐거운 하루 되세요.

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