excel - 这不是我的问题的描述,但是Stackoverflow不允许我提交我的描述性标题

标签 excel error-handling runtime-error

真实标题:EXCEL VBA:如何处理溢出错误

我在EXCEL宏程序中进行了计算,在某些情况下,解析为大于EXCEL可以处理的数字。例如:

经验值(772.570555209417)

有人可以建议解决此错误的最佳方法吗?我试过了:

    If IsError(Exp(n_beta(i, 1) + Abs(WorksheetFunction.Norm_Inv((1 - Conl / 100) / 2, 0, 1)) * logSTDERR(i))) Then
        MsgBox ("Error!!")
        Exit Sub
    End If

在上述情况下:
n_beta(i, 1) + Abs(WorksheetFunction.Norm_Inv((1 - Conl / 100) / 2, 0, 1)) * logSTDERR(i))

解析为772.570555209417。但是,当我运行此代码时,我在IsError()语句上收到溢出错误(VBA编辑器下面以黄色突出显示):

enter image description here

任何帮助或见解表示赞赏。

最佳答案

对于那些感兴趣的人:在Chris和Ron的帮助下,我开发了以下代码来消除“运行时错误'6'溢出”错误:

LNORUB = n_beta(i, 1) + Abs(WorksheetFunction.Norm_Inv((1 - Conl / 100) / 2, 0, 1)) * logSTDERR(i)

If LNORUB > 709.5 Then
    MsgBox ("Error!!: Message to the User...")
    End
End If

ORUB = Exp(LNORUB)

我认为Ron是正确的:On Error语句也可以作为一种选择,但是,在我的情况下,因为正是乘幂导致了超大数,所以我能够在这种偶然性发生之前就将其捕获,因此避免了完全溢出错误。

非常感谢克里斯和罗恩!

关于excel - 这不是我的问题的描述,但是Stackoverflow不允许我提交我的描述性标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59507183/

相关文章:

swift - 将使用 Swift 的关键字 "throw"创建的错误称为 "exception"是否正确?

android - 找不到原因 "you must specify a way to create the tab indicator"

c++ - 如何使用谷歌测试抑制由 assert() 引起的运行时错误?

excel - 使用 VBA 选择多个范围

java - 如何在桌面 JVM 上获得更好的 NullPointerException 消息?

arrays - 在 Excel VBA 中对二维数组进行排序

c# - ASP.NET : Configuration Error(Server Error in '/' Application.)

c# - Umbraco 中的母版页

excel - 组合 "Set"和 "If"来计数非隐藏的红细胞

c++ - 非托管 C++ 中的 XLL Excel 插件