Public Sub MergeAnyArray(ByRef vArraySource As Variant, ByRef vArrayDest As Variant, Optional ByVal iPos As Long = -1)
Dim i As Long
Dim iLBound As Long
Dim iUBound As Long
Dim iUBound2 As Long
Dim iTemp As Long
If (Not IsArray(vArraySource)) Or (Not IsArray(vArrayDest)) Then Exit Sub
If (iPos > UBound(vArrayDest) + 1) Or (iPos = -1) Then iPos = UBound(vArrayDest) + 1
If iPos < 0 Then iPos = 0
ReDim Preserve vArrayDest(LBound(vArrayDest) To UBound(vArrayDest) + iTemp)
For i = iUBound2 To iPos Step -1
vArrayDest(i + iTemp) = vArrayDest(i)
Next i
iUBound = iPos + iTemp - 1
For i = iPos To iUBound
vArrayDest(i) = vArraySource(i - iPos)
Next i