계산문제 5번에서
Public Function fn구분(법정동명, 본번, 부번)
If 본번>=0 And 본번 <= 999 And 부번>=0 And 부번 <= 99 Then
fn구분 = Left(법정동명,1)& "_" &본번& "-" &부번
Else
fn구분 = "확인필요"
End If
End Function
안녕하세요.
VBA에서 발생한 "컴파일 오류입니다: 필요한 요소: 문의 끝" 오류는 주로 수식이나 명령문의 문법이 어긋났을 때 나타납니다.
작성하신 코드에서는 연결 연산자(&)의 앞뒤 공백이 생략된 것이 원인입니다.
VBA 편집기는 변수나 함수 바로 뒤에 붙은 &를 문자열을 잇는 연산자가 아니라, 숫자의 데이터 형식을 지정하는 형식 선언 문자(Long형)로 오해하기 때문에 이런 오류를 내뱉게 됩니다.
[수정된 코드]
Public Function fn구분(법정동명, 본번, 부번)
If 본번 >= 0 And 본번 <= 999 And 부번 >= 0 And 부번 <= 99 Then
' & 연산자 앞뒤에 반드시 공백을 추가해야 합니다.
fn구분 = Left(법정동명, 1) & "_" & 본번 & "-" & 부번
Else
fn구분 = "확인필요"
End If
End Function
즐거운 하루 되세요.
-
관리자2026-05-12 09:24:23
안녕하세요.
VBA에서 발생한 "컴파일 오류입니다: 필요한 요소: 문의 끝" 오류는 주로 수식이나 명령문의 문법이 어긋났을 때 나타납니다.
작성하신 코드에서는 연결 연산자(
&)의 앞뒤 공백이 생략된 것이 원인입니다.VBA 편집기는 변수나 함수 바로 뒤에 붙은
&를 문자열을 잇는 연산자가 아니라, 숫자의 데이터 형식을 지정하는 형식 선언 문자(Long형)로 오해하기 때문에 이런 오류를 내뱉게 됩니다.[수정된 코드]
Public Function fn구분(법정동명, 본번, 부번)
If 본번 >= 0 And 본번 <= 999 And 부번 >= 0 And 부번 <= 99 Then
' & 연산자 앞뒤에 반드시 공백을 추가해야 합니다.
fn구분 = Left(법정동명, 1) & "_" & 본번 & "-" & 부번
Else
fn구분 = "확인필요"
End If
End Function
즐거운 하루 되세요.