엑셀(2010) 매크로(VBA) 질문입니다.

jip102의 이미지

엑셀 매크로(VBA)로 아래와 같이 계산된 결과 값을 변수에 넣어서 원하는 결과를 Sheet의 Cell 에 넣으려 하는데 오버플로우 에러가 납니다.
(물론 0을 0으로 나누어서 나온 결과이긴 하지만)

Dim Result as long
Dim Arg1 as long
Dim Arg2 as long
Dim Arg3 as long

Result = (Arg1/(Arg1 + Arg2 + Arg3)) <-- Over Flow Error 발생(Arg1 = 0, Arg2 = 0, Arg3 = 0 으로 할당될때)

여기서 Arg1,Arg2,Arg3 값이 다 0으로 할당되게 되면 0/0 이되어 오버플로우 에러가 발생합니다.
위의 경우 0을 0으로 나누더라도 강제로 Result 변수에 0을 할당하여 Cell 에 뿌릴 수 없을까요?(DBMS 의 NVL간은 함수)
찾아보기로는 IFERROR 라는 함수가 있기는 한데 아래와 같이 쓰니까 없는 함수라고 에러가 나네요.

Result = IFERROR((Arg1/(Arg1 + Arg2 + Arg3)),0)

고수님들의 조언 부탁드립니다.

jip102의 이미지

Result = IFERROR((Arg1/(Arg1 + Arg2 + Arg3)),0)

같이 IFERROR를 선언하면 "Sub또는 Function이 정의 되지않음" 이라는 에러가 발생합니다.

dontdieych의 이미지

http://www.ozgrid.com/forum/showthread.php?t=54294

세가지 방법이 보이는데 뭐가 좋은 건지는 모르겠네요. 첫번째는 빈문자열로 하는 것 같고 두번째는 0으로 하는 것 같고 세번째는 모르겠네요.

ISERROR 인가 봅니다.