Gre*_*edo 6 excel vba excel-vba
在许多语言中,可以检查对象是否可迭代,如何为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
Run Code Online (Sandbox Code Playgroud)
但我想知道是否有内置或更好的方法?
是否有内置功能: 没有。
有更好的方法吗?:
我会这样做:
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
Run Code Online (Sandbox Code Playgroud)
因为=在同一条线上放置两次有点太多了。