A function can return two arrays, by using a ByRef argument.
Sub test()
Dim firstReturn As Variant
Dim secondReturn As Variant
firstReturn = myFtn("x", secondReturn)
MsgBox Join(firstReturn) & vbCr & Join(secondReturn)
End Sub
Function myFtn(aString As String, Optional ByRef secondArray As Variant) As Variant
Dim Result1(1 To 3) As String
Dim Result2(1 To 3) As String
Dim i As Long
For i = 1 To 3: Result1(i) = aString & i: Next i
For i = 1 To 3: Result2(i) = i & aString: Next i
myFtn = Result1
secondArray = Result2
End Function
Bookmarks