我在下面的代码行中得到类型不匹配错误。它位于一个循环内,并且直到.Cells(rowStart + i, ISO_revs_col).Value
是一个字符串的第一次迭代才会发生错误。这是有道理的,这会导致错误,但我期望.IfError
函数只返回“0”字符串。如果有人能告诉我为什么我得到一个错误而不是“0”,我将不胜感激。IfError不是捕获类型类型不匹配错误vba
Debug.Print Application.WorksheetFunction.IfError(CLng(.Cells(rowStart + i, _
ISO_revs_col).Value), "0")
在此先感谢。
我不认为在VBA中可用的工作表函数中有* IFERROR *。不知道,但没办法检查atm。但您可以使用* On Error Resume Next *和* On Error Goto 0 *代替。 – L42 2014-11-04 01:06:47
如上所述,您不能以这种方式使用IFERROR。在过去,我通过'Application.Sum(.Cells(rowStart + i,ISO_revs_col).Value))'这样的''SUM'工作表函数将文本字符串的总和设为零。 – Jeeped 2014-11-04 01:11:17
有一个工作表函数(我发现它在微软的帮助下),但如下所述,我错误地使用了它。 @Jeeped我想我会用你的解决方案。谢谢! – nateAtwork 2014-11-04 02:01:51