Originariamente inviato da ciro78
sei chiaro ma non preciso

un conto è ottenere

lista3 = (1,2,3,4,5,6)

un altro

lista3 = (1,2,4,3,5,6)

mi sa che non hai capito tu

in sostanza aggiunge l'array1 nell'array nelle posizioni finali
ad ogni modo prova cosi

codice:
Private Sub Form_Load()
    Dim i As Integer
    Dim a() As Long
    Dim b() As Long
    Dim c() As Long
    
    ReDim a(0)
    ReDim b(0)
    ' per riempire gli array
    For i = 0 To 100
        If i Mod 2 = 0 Then
            ReDim Preserve a(UBound(a) + 1)
            a(UBound(a)) = i
        Else
            ReDim Preserve b(UBound(b) + 1)
            b(UBound(b)) = i
        End If
    Next i
    
    c = ConcatArray(a(), b())
End Sub


Private Function ConcatArray(Arr1() As Long, Arr2() As Long) As Long()
Dim i As Long
Dim ArrTemp() As Long
    ReDim ArrTemp(0)
    For i = LBound(Arr1) To UBound(Arr1)
        ReDim Preserve ArrTemp(UBound(ArrTemp) + 1)
        ArrTemp(UBound(ArrTemp)) = Arr1(i)
    Next i
    For i = LBound(Arr2) To UBound(Arr2)
        ReDim Preserve ArrTemp(UBound(ArrTemp) + 1)
        ArrTemp(UBound(ArrTemp)) = Arr2(i)
    Next i
    ConcatArray = ArrTemp()
End Function