나는 엑셀 VBA에 다음 줄이 : 나는 Excel에서 매크로를 실행하면엑셀 VBA 오버플로 오류
ActiveCell.Offset(r, 1).Value = IIf(rs2.Fields("SalesRelatedCallsQTD").Value = 0, "--", FormatPercent(rs2.Fields("SoldCallsQTD").Value/rs2.Fields("SalesRelatedCallsQTD").Value, 2))
는 내가 얻을 "런타임 오류 '6': 오버플로"오류가 발생했습니다.
저는 분모에서 0 값을 얻을 가능성이 있으므로이를 확인하기 위해 IIf를 사용한다는 것을 알고 있습니다. Excel에서 여전히 계산을 시도 할 가능성이 있습니까?
FormatPercent(rs2.Fields("SoldCallsQTD").Value/rs2.Fields("SalesRelatedCallsQTD").Value, 2)
오류가 발생합니까? 그렇다면 어떻게이 문제를 해결할 수 있습니까? 아니면이 코드에 다른 문제가 있습니까?
편집
내가 여기에 시계를 추가 내가 얻는 값은 다음과 같습니다 테스트가 실제로 수행되기 전에 IIf
의
rs2.Fields("SalesRelatedCallsQTD").Value : 0 : Variant/Long
rs2.Fields("SoldCallsQTD").Value : 0 : Variant/Long
rs2.Fields("SoldCallsQTD").Value/rs2.Fields("SalesRelatedCallsQTD").Value : <Overflow> : Variant/Integer
여기에 'Null'값과 관련된 문제는 없습니까? 가장 좋은 방법은 단계별로 단계별로 값을 확인하거나 코드에 몇 가지'debug.Print'를 포함시키는 것입니다. –
오류가 발생하면'ActiveCell' (주소),'r','rs2.Fields ("SoldCallsQTD") .Value 및'rs2.Fields ("SalesRelatedCallsQTD") .Value의 값을 확인할 수 있습니까? – assylias
값 편집 – BrianKE