目录:
视频: 迴歸分析_EXCEL 2024
如何识别和处理Excel 2016中的每个可能的错误?通常情况下,你不能。幸运的是,VBA提供了另一种处理这些麻烦的错误的方法。
重新访问EnterSquareRoot过程
检查以下代码。例程使用通用的On Error语句来捕获所有错误,然后检查InputBox是否被取消。
Sub EnterSquareRoot5()Dim Num As Variant Dim Msg As String'设置错误处理On Error GoTo BadEntry'提示值Num = InputBox(“Enter a value”)'Exit if if If If Num =“”Then Exit Sub'插入平方根ActiveCell。值= Sqr(Num)退出Sub BadEntry:Msg =“发生错误。 “&vbNewLine&vbNewLine Msg = Msg&”确保已选择一个范围,“Msg = Msg&”工作表不受保护,“Msg = Msg&”并输入一个非负值。 “MsgBox消息,vbCritical结束小组
此例程陷阱 任何 类型的运行时错误。在捕获运行时错误之后,修改的EnterSquareRoot过程显示此消息框。此消息框描述了错误的最可能的原因。
<! --1 - > 过程中的运行时错误会产生这个半帮忙的错误信息。在错误不工作?
如果On Error语句不按照所宣称的那样工作,则需要更改其中一个设置:
-
激活VBE。
-
选择工具→选项命令。
-
单击选项对话框的常规选项卡。
-
确保取消选中“中断所有错误”设置。
如果选择此设置,则Excel本质上会忽略任何On Error语句。您通常希望保持错误陷印选项设置为在未处理的错误上中断。
关于On Error语句
使用VBA代码中的On Error语句,可以绕过Excel的内置错误处理并使用您自己的错误处理代码。在前面的示例中,运行时错误会导致宏执行跳转到标记为BadEntry的语句。因此,您可以避免Excel的不友好的错误消息,并且可以向用户显示自己的消息。
请注意,该示例在BadEntry标签之前使用了Exit Sub语句。这个语句是必要的,因为如果错误发生 而不是 ,您不想执行错误处理代码。