Salve ragazzi/e

Ho un problemino con un codice che ho scritto per mandare a capo in automatico una stringa di testo.(altrimenti nella stampa la stringa viene stampata tutta in una riga, sovrascrivendo altri dati presenti nella stessa coordinata x )
Esemplificando io faccio un len(string) per ottenere il numero dei caratteri
dopodichè in base al num caratteri, creo un if per vedere se il num caratteri della stringa è superiore al num caratteri consentito!
poi creo 3 strighe con la funzione Mid$ e dopo aver definito la lunghezza delle stringhe creo 3 array
poi con un ciclo for estraggo il contenuto degli array e poi creo una nuova stringa per unirli e formattarli
riporto qui sotto il codice! voglio solo dire che, con 2 array tutto funziona bene, ma con 3 array.... beh se mi potete aiutare, vedete voi...

'----------------------------------------------------------------------------------
Dim str1 As String
Dim str2 As String
Dim str3 As String
Dim array1 As Variant
Dim array2 As Variant
Dim array3 As Variant
Dim lung As integer
Dim contarray1 As Integer
Dim contarray2 As Integer
Dim contarray3 As Integer

lung = Len(ds1) + 1

If (Len(ds1) >= 94) Then

str1 = Mid$(ds1, 1, 47)
array1 = Split(str1, " ")

str2 = Mid$(ds1, 48, 94)
array2 = Split(str2, " ")

str3 = Mid$(ds1, 95, lung)
array3 = Split(str3, " ")

contarray1 = UBound(array1)
contarray2 = UBound(array2)
contarray3 = UBound(array3)

str1 = ""
str2 = ""
str3 = ""

Dim a1 As Integer
Dim a2 As Integer
Dim a3 As Integer

For a1 = 0 To contarray1 - 1
str1 = str1 & "-" & array1(a1)
Next
For a2 = 1 To contarray2 - 1
str2 = str2 & "-" & array2(a2)
Next
For a3 = 1 To contarray3
str3 = str3 & "-" & array3(a3)
Next

ds1 = str1 & vbCrLf & array1(contarray1) & array2(0) & " " & str2 & vbCrLf & array2(contarray2) & array3(0) & " " & str3
ds1 = Replace(ds1, " ", "")
ds1 = Replace(ds1, "-", " ")
ds1 = Trim(ds1)
Else
End If
'----------------------------------------------------------------------------------

Mi potete dire dove ho sbagliato?
Grazie in ogni caso a chiunque leggerà il mio post e soprattutto a chiuque potrà/vorrà darmi una mano!