vba - 检查值是否可迭代vba

标签 vba excel

在许多语言中都可以检查对象是否可迭代,我该如何在 VBA 中执行此操作?

我可以尝试:

Function isIterable(obj As Variant) As Boolean
    On Error Resume Next
    Dim iterator As Variant
    For Each iterator In obj
        Exit For
    Next
    isIterable = Err.Number = 0
End Function

但我想知道是否有内置或更好的方法?

最佳答案

是否有内置函数: 没有。

有更好的方法吗?:

我会这样做:

Function isIterable(obj As Variant) As Boolean

    On Error GoTo isIterable_Error

    Dim iterator As Variant

    For Each iterator In obj
        isIterable = True
        Exit Function
    Next

isIterable_Error:

End Function

因为在同一行上放置两次 = 有点太多了。

关于vba - 检查值是否可迭代vba,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47597138/

相关文章:

vba - 更改存档所有工作表中的单元格公式

vba - 将范围从单元格内传递到自定义函数

excel - 我可以通过从另一个变量构造一个变量来调用它吗?

c# - EPPLUS AutoFit 细胞

java - apache poi jar 缺少类文件

VBA 使 Excel 崩溃

vba - 如何在自动筛选 Excel 中获取未选择的条件

excel - 如果工作表不存在,如何创建工作表?

vba - 如何在 vba 中执行命令之前检查它是否可行?

excel - 使用 Excel VBA 返回 Outlook MAPIFolder 类型