VBA评估错误2023未抛出

时间:2015-02-27 11:04:55

标签: excel vba excel-vba

使用我的宏我试图检查,如果另一个工作簿包含特定工作表而不打开工作簿。

我正在关注这两篇文章:

问题是,ExecuteExcel4Macro(arg)部分应抛出(在我的情况下)错误2023(一般评估错误) 我试图测试它,如果它正常工作。我伪造了本工作簿中没有的工作表名称。

实施例: DataWorkbook包含2个表:InputData和Notes MacroWorkbook包含以下宏

Private Function checkSheet(ByVal path As String, _
                            ByVal fileName As String, _
                            ByVal sheetName As Strgin) As Boolean
  Dim arg = "'" & path & "[" & fileName & "]" & _
            sheetName & "'!" & Range("A1").Address(True, True, xlR1C1)

  ExecuteExcel4Macro(arg)

  If Err = 0
    checkSheets = True
  Else 
    Err.Raise 1
  End If
End Function

我用假sheetname调用该函数(让我们将DataFake称为sheetName)。 然后,当我在 ExecuteExcel4Macro(arg)之前中断执行时,在即时窗口内我调用 ExecuteExcel4Macro(arg)它给了我错误2023(这是正确的,因为有没有这样的表格叫做DataFake)但是我再次运行宏(我假设错误2023被引发)我的第二部分函数应该引发新的错误数字1(之后这个错误被处理)。问题是,它不会在其他部分结束。出于某种原因,Err = 0(我也试过Err.Number = 0)两者都有相同的结果。它说没有错误,即使它应该喊出来有错误。

有什么想法吗?

0 个答案:

没有答案