gpt4 book ai didi

VBA Variant - IsNull 和 IsEmpty 对于空数组均为 false

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

我有一个包含许多变体的 VBA 类。这些变体用于保存 Y x Z 大小的数组,但它们是可选输入(因此变体通常永远不会被使用或初始化)。

同一类中的函数调用这些变体中的每一个来执行计算。但是,我需要它来跳过空白的变体。当我尝试使用 IsNull(xyz) 和 IsEmpty(xyz) 时,两者都返回 false。看看xyz上的 watch ,它有:

Expression: xyz
Value:
Type: Variant/Variant()
Context: className

完全没有值(value)。

如果这些东西是空的,有什么想法可以测试/返回 bool 值吗?或者甚至是 bool 值,如果它们已满,那也可以。

谢谢

编辑:我应该补充一点,IsMissing 完全崩溃了 excel...

最佳答案

非常肮脏的解决方法,但这样的事情可能会奏效:

Function IsEmptyArray(testArr As Variant) As Boolean

Dim test As Long
Dim ret As Boolean

ret = False

On Error Resume Next
test = UBound(testArr)

If Err.Number = 9 Then
ret = True
End If

Err.Clear
On Error GoTo 0

IsEmptyArray = ret

End Function

关于VBA Variant - IsNull 和 IsEmpty 对于空数组均为 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37142061/

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