VBA:溢出错误

时间:2016-01-29 10:41:59

标签: excel vba overflow

我有一个错误,我不明白为什么

我有一个我没有碰过的功能(没有错误)现在它没有工作...... 我的功能刚刚上线

我尝试了函数CDbl()并使用了double类型变量

我收到溢出错误

编号= 1341.0937961001

NbDecimal = 2

Function Truncate(Number As Double, NbDecimal As Integer) As Double
    Truncate = Int(Number * 10 ^ NbDecimal) / (10 ^ NbDecimal)
End Function 'Error here : Overflow

我需要帮助

2 个答案:

答案 0 :(得分:1)

当Number * 10 ^ nbDecimal超过32767时会溢出,因为VBA的最大数字将存储在一个整数中。

实际上我错了:如果你使用CInt()而不是Int()

,它只会溢出

答案 1 :(得分:0)

要添加Charles Williams所说的内容,您可能希望将数据类型更改为Long。