是否有可能VBA检测到错误并提示数据不可用而不是给出错误消息?

use*_*868 2 excel vba excel-vba

我创建了一个GUI来设置数据透视表.

例如,我单击button1它将运行并设置数据透视表.

当我点击时button3,它会有一个,run time error 1004因为它没有数据中的值.那么是否可以让VBA接受该错误并显示该数据不可用的提示?

在此输入图像描述

顺便说一下,我正在使用它

ActiveSheet.PivotTables("PivotTable1").PivotFields("Test").CurrentPage = "Data1"

设置数据透视表.

有3个不同的变量; Data1,Data2,Data3.如果Data3不可用,它将显示错误,但我想提示它显示它不可用..如果您知道如何操作,请与我分享!谢谢!

Sid*_*out 5

是.为此,您需要进行适当的错误处理.请参阅此示例代码.

Sub Sample()
    On Error GoTo Whoa

    '<Your REST OF THE CODE>

LetsContinue:
    Exit Sub
Whoa:
    '~~> This gives the exact desription and the error number of the error
    MsgBox "Description     : " & Err.Description & vbNewLine & _
           "Error Number    : " & Err.Number

    '~~> This part resumes the code without breaking it :)
    Resume LetsContinue
End Sub
Run Code Online (Sandbox Code Playgroud)