gpt4 book ai didi

excel - VBA(Excel)-从等于错误的变量中获取错误号

转载 作者:行者123 更新时间:2023-12-04 21:21:20 25 4
gpt4 key购买 nike

设想:

dim Result as variant
Result = Application.Match(string, Wb.Sheets("UD_Base").Range("UD_Base[U_ID]"), 0)

现在,如果我检查 -Result- 的值,它可以是数字或错误。:
Debug.Print 结果 -> 1
Debug.Print 结果 -> 错误 2042

我可以测试 -Result- : IsError(result) 它给出 True 或 False
...但即使 -Result- 是一个错误,我也无法得到它的编号。

Result.Number -> 对象或类型错误消息 来了
所以看起来我不能像 那样使用它Err.Number

如何获取 -Result- 变量的错误号?
在这种情况下 -Result- 真的等于什么?


如果我说如果结果 = ???那么......如果我知道它的错误 2042 什么时候会是真的?
我已经测试了案例“错误 2042”;案例错误;案例错误;案例错误(2042); ...
这些都没有显示 True for -Result- 当它 debug.printed 错误 2042

请各位大侠赐教。

最佳答案

Result 中的值是 Error 类型.因此,您需要将其与错误值进行比较。例如:

Result = CVErr(2042)

将返回 True如果 Result包含该错误值

但是,为了运行测试,您首先必须测试 Result包含错误类型。如果不是,您将在比较语句中得到类型不匹配。

您可以通过多种方式进行测试:
IsError(Result)
VarType(Result) = 10
VarType(Result) = vbError
TypeName(Result) = "Error"

如果您需要提取特定数字,您可以使用类似
Mid(CStr(Result),7)

将错误值转换为字符串。

关于excel - VBA(Excel)-从等于错误的变量中获取错误号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48127948/

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