Secondo me era più facile agire solo nella routine che genera il messaggio in oggetto :
' Messaggio con i risultati e legenda colori
Dim msg As String
msg = "Legenda colori:" & vbNewLine & _
"Rosa: singolo numero" & vbNewLine & _
"Giallo: coppia di numeri" & vbNewLine & _
"Verde: tris di numeri" & vbNewLine & _
"Blu: quartetto di numeri" & vbNewLine & _
"Viola: quintetto di numeri" & vbNewLine & vbNewLine & _
"Combinazioni trovate per ogni ruota:" & vbNewLine & vbNewLine
For ruotaIdx = 0 To UBound(ruote)
msg = msg & ruote(ruotaIdx)(0) & ":" & vbNewLine
For k = 1 To 5
If lastRows(ruotaIdx, k) > 0 Then
msg = msg & k & " numeri:
Rit.Corr. " & lastRows(ruotaIdx, k)
- 13 & vbNewLine
End If
Next k
msg = msg & vbNewLine
Next ruotaIdx
MsgBox msg
Però MsgBox è utile per un messaggio e non per una tabella corposa e l'elenco rimane incompleto.
Tutti questi dati però , sarebbero meglio riassunti e disposti in una griglia appositamente creata per essi.