У меня есть следующая строка в Excel VBA:
ActiveCell.Offset(r, 1).Value = IIf(rs2.Fields("SalesRelatedCallsQTD").Value = 0, "--", FormatPercent(rs2.Fields("SoldCallsQTD").Value / rs2.Fields("SalesRelatedCallsQTD").Value, 2))
Когда я запускаю макрос в Excel, я получаю ошибку «Ошибка выполнения 6: переполнение».
Я знаю, что есть возможность получить значение 0 в знаменателе, следовательно, использование IIf для проверки этого. Возможно ли, что Excel все еще пытается вычислить
FormatPercent(rs2.Fields("SoldCallsQTD").Value / rs2.Fields("SalesRelatedCallsQTD").Value, 2)
а выкидывает ошибку? Если так, как мне обойти это или есть что-то еще не так с этим кодом?
EDIT
Когда я добавляю часы, я получаю следующие значения:
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