gpt4 book ai didi

excel - IfError 未捕获类型类型不匹配错误 vba

转载 作者:行者123 更新时间:2023-12-03 07:47:45 31 4
gpt4 key购买 nike

我在下面的代码行中收到类型不匹配错误。它在一个循环中,直到第一次迭代才发生错误,其中 .Cells(rowStart + i, ISO_revs_col).Value是一个字符串。这会导致错误是有道理的,但我希望 .IfError函数只返回“0”字符串。如果有人能告诉我为什么我收到错误而不是“0”,我将不胜感激。

Debug.Print Application.WorksheetFunction.IfError(CLng(.Cells(rowStart + i, _
ISO_revs_col).Value), "0")

提前致谢。

最佳答案

IFERROR 是一个工作表函数,将检测工作表错误。评估以下错误类型:#N/A、#VALUE!、#REF!、#DIV/0!、#NUM!、#NAME? 或 #NULL!。

类型不匹配(运行时错误 13)是 VBA 错误,而不是工作表错误。

要处理 VBA 错误,您需要使用 VBA 错误处理例程。所以像:

编辑:触发其他错误:

On Error Resume Next
'your looping routine start
x = CLng(.Cells(rowStart + i, ISO_revs_col).Value)
select case err.number
case 13
x=0
err.clear
case <> 0
msgbox "Error " & err.number & vbTab & err.description
end select
debug.print x
'your looping routine end
on error goto 0

上面不会告诉您错误发生的位置,因此您可能只想将单行包装为:
on error resume next
x = CLng(.Cells(rowStart + i, ISO_revs_col).Value)
if err.number = 13 then x = 0
on error goto 0

关于excel - IfError 未捕获类型类型不匹配错误 vba,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26726071/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com