엑셀(2010) 매크로(VBA) 질문입니다.
글쓴이: jip102 / 작성시간: 토, 2014/02/15 - 7:46오전
엑셀 매크로(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)
고수님들의 조언 부탁드립니다.
Forums:
IFERROR를 선언하면 Sub또는 Function이 정의 되진않음
Result = IFERROR((Arg1/(Arg1 + Arg2 + Arg3)),0)
같이 IFERROR를 선언하면 "Sub또는 Function이 정의 되지않음" 이라는 에러가 발생합니다.
http://www.ozgrid.com/forum/s
http://www.ozgrid.com/forum/showthread.php?t=54294
세가지 방법이 보이는데 뭐가 좋은 건지는 모르겠네요. 첫번째는 빈문자열로 하는 것 같고 두번째는 0으로 하는 것 같고 세번째는 모르겠네요.
ISERROR 인가 봅니다.
댓글 달기