Option Explicit
Sub Test()
Dim avarArray As Variant
avarArray = Array(1, 2, 3, Array(1, 2, 3, Array(1, 2, 3)))
'checkt alleen de bovenste array (returns 1)
Debug.Print "Sub array search: " & CountSubArrays(avarArray)
'checks for Recursive arrays in de opgegeven array (returns 2 )
Debug.Print "Recursive array search:" & CountArraysRecursive(avarArray)
End Sub
Private Function CountSubArrays(ByVal myArray As Variant) As Long
Dim i As Long
For i = LBound(myArray) To UBound(myArray)
If IsArray(myArray(i)) Then
CountSubArrays = CountSubArrays + 1
End If
Next
End Function
Private Function CountArraysRecursive(ByVal myArray As Variant) As Long
Dim lngCount As Long
Dim i As Long
For i = LBound(myArray) To UBound(myArray)
If IsArray(myArray(i)) Then
lngCount = lngCount + CountArraysRecursive(myArray(i)) + 1
End If
Next
CountArraysRecursive = lngCount
End Function