我被引导相信 vba IDE 不允许正确中断错误。我在这里问了一个关于如何识别运行时错误的问题:
解决方案/解决方法似乎是使用On Error GoTo ErrorHandler
或类似的。我正在努力完成这项工作,但没有取得太大的成功。
根据 MicrosoftOn Error GoTo
将在发生运行时错误时将您发送到指定区域的代码 ( https://msdn.microsoft.com/en-us/library/5hsw66as.aspx )。根据我的经验,这还不是全部。这个问题是关于如何实际使该解决方案起作用。
所以我有以下功能:
Function generateTimeseries() As Variant
On Error GoTo ErrorHandler
Dim currentArray As Range
currentArray = Selection.Range ' this doesn't work - I don't care why
generateTimeseries = currentArray.Rows
Return
ErrorHandler:
Debug.Assert False
Resume ' break here if you want to catch errors
End Function
此函数从不输入ErrorHandler
代码。相反,它落在 上Selection.Range
,函数简单地返回#VALUE
。我实际上并不关心为什么会中断,我只想知道如何让 IDE 告诉我它实际上落在了那条线上,而无需我手动跳过代码。