VBA有可能检测到错误,并提示数据不可用,而不是提供错误信息?

我已经创build了一个GUI来设置数据透视表。

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

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

在这里输入图像说明

顺便说一下,我正在使用这个

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

设置数据透视表。

有3个不同的variables; Data1Data2Data3 。 如果Data3不可用,它会显示错误,但我想有一个提示,表明它不可用..如果你知道如何做,请与我分享! 谢谢!

是。 为此你需要做适当的error handling。 看到这个示例代码。

 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 

我只是这样做:

 On Error Resume Next ' Don't stop execution when an error occurs. ActiveSheet.PivotTables("PivotTable1").PivotFields("Test").CurrentPage = "Data1" If Err.Number <> 0 Then ' Can also check for a specific error number instead 'Oops! An error occured. MsgBox "Data isn't available." Err.Clear End If On Error GoTo 0 ' Go back to stoping execution when an error occurs.