책 내용 질문하기
온라인 채점 결과 문의
도서
2026 시나공 컴퓨터활용능력 1급 실기 기출문제집
페이지
0,210
조회수
89
작성일
2026-06-03
작성자
박*원
첨부파일

2026_최신기출유형_09회

2. 사용자 정의 함수 fn할인액에 프로시져 상에서..


특정셀(j2)과 시트이름(계산작업) 사이 보통 ! 로 구분하는데 1.['계산작업'!j2]와 [계산작업!j2]와 결과가 틀립니다


아울러 j2는 특정셀의 고정 날짜로 절대참조($j$2)는 붙이면 왜 안되는지요?

답변
2026-06-03 10:32:40

안녕하세요.

결론부터 말씀드리면, 대괄호([]) 안에서 시트 이름에 작은따옴표(')를 붙이는 위치가 잘못되었기 때문에 엑셀이 주소를 인식하지 못해 오류가 난 것입니다.

[엑셀 수식의 규칙]

시트 이름에 공백(띄어쓰기)이나 특수문자가 포함되어 있을 때만 시트 이름 앞뒤를 작은따옴표로 감싸줍니다. (예: ='계산 작업'!J2)

[VBA 대괄호([]) 안에서의 규칙]

VBA에서 대괄호는 그 자체로 "엑셀 수식 창에 입력하듯이 처리해라"라는 뜻입니다. 따라서 작은따옴표를 쓰려면 시트 이름에만 딱 붙여야 합니다.

올바른 표현 (공백이 있을 때): ['계산 작업'!J2]

올바른 표현 (공백이 없을 때): [계산작업!J2]

독자님이 쓰신 표현: ['계산작업'!j2]

틀린 이유

공백이 없는 이름인데 작은따옴표를 억지로 붙였거나, 대괄호 바로 안쪽에 따옴표를 넣으면 VBA는 이를 실제 시트 이름이 아니라 문자열 오타로 인식합니다.

그래서 값을 가져오지 못하고 에러(#VALUE!)가 나거나 결과가 다르게 나오는 것입니다. 시트 이름에 띄어쓰기가 없다면 그냥 깔끔하게 [계산작업!J2]로 쓰시는 것이 정석입니다.

고정된 셀인데 왜 절대참조($)를 붙이면 안 되나요?

결론부터 말씀드리면 붙여도 상관없지만, 대괄호([])를 쓰는 순간 절대참조 기호($)가 이미 포함된 것이나 다름없기 때문에 굳이 붙이지 않는 것입니다.

즐거운 하루 되세요.

  • 관리자
    2026-06-03 10:32:40

    안녕하세요.

    결론부터 말씀드리면, 대괄호([]) 안에서 시트 이름에 작은따옴표(')를 붙이는 위치가 잘못되었기 때문에 엑셀이 주소를 인식하지 못해 오류가 난 것입니다.

    [엑셀 수식의 규칙]

    시트 이름에 공백(띄어쓰기)이나 특수문자가 포함되어 있을 때만 시트 이름 앞뒤를 작은따옴표로 감싸줍니다. (예: ='계산 작업'!J2)

    [VBA 대괄호([]) 안에서의 규칙]

    VBA에서 대괄호는 그 자체로 "엑셀 수식 창에 입력하듯이 처리해라"라는 뜻입니다. 따라서 작은따옴표를 쓰려면 시트 이름에만 딱 붙여야 합니다.

    올바른 표현 (공백이 있을 때): ['계산 작업'!J2]

    올바른 표현 (공백이 없을 때): [계산작업!J2]

    독자님이 쓰신 표현: ['계산작업'!j2]

    틀린 이유

    공백이 없는 이름인데 작은따옴표를 억지로 붙였거나, 대괄호 바로 안쪽에 따옴표를 넣으면 VBA는 이를 실제 시트 이름이 아니라 문자열 오타로 인식합니다.

    그래서 값을 가져오지 못하고 에러(#VALUE!)가 나거나 결과가 다르게 나오는 것입니다. 시트 이름에 띄어쓰기가 없다면 그냥 깔끔하게 [계산작업!J2]로 쓰시는 것이 정석입니다.

    고정된 셀인데 왜 절대참조($)를 붙이면 안 되나요?

    결론부터 말씀드리면 붙여도 상관없지만, 대괄호([])를 쓰는 순간 절대참조 기호($)가 이미 포함된 것이나 다름없기 때문에 굳이 붙이지 않는 것입니다.

    즐거운 하루 되세요.

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