[Solved] Defining and adding values to arrays inside an array in VBA Excel

[ad_1]

Based on the description you’ve given, follow my suggestion.

Please, give us your feedback.

Private Function AmazingFunction(inputArray As Variant)
    Dim size As Long
    Dim i As Long
    Dim tmp As Variant
    Dim newArray() As Variant

    size = UBound(inputArray) ' Array size
    ReDim newArray(size) ' Resizes another array to the same size

    For i = 0 To size ' For each value
        tmp = CreateArray(length:=0) ' Allows you to dynamically create arrays
                                     ' In this case, an array of only one element is created.
        tmp(0) = inputArray(i) ' Sets the value of the first array element
        newArray(i) = tmp
    Next

    AmazingFunction = newArray
End Function

Auxiliary function to create arrays dynamically:

Private Function CreateArray(length As Long)
    Dim arr() As Variant
    ReDim arr(length)
    CreateArray = arr
End Function

Here is an example of how to use the function:

Private Sub UseTest()
    Dim outArray As Variant
    Dim intArray As Variant
    Dim element As Variant

    Dim inputArray(2) As Variant

    inputArray(0) = "a"
    inputArray(1) = "b"
    inputArray(2) = "c"
    outArray = AmazingFunction(inputArray)

    For Each intArray In outArray
        For Each element In intArray
            Debug.Print element
        Next
    Next
End Sub

1

[ad_2]

solved Defining and adding values to arrays inside an array in VBA Excel