Scusate per prima :d non sapevo

In breve questo mi serve per creare giornate del calendario di serie A senza ripetizioni ovviamente
Ecco quello che ho scritto io :
codice:
On Error GoTo GestioneErrori
Dim incontri(1 To 20) As String
Dim archivio, archivio2, ritorno1 As String
Dim o, k, y As Byte
Randomize
o = 0
y = 1
k = Int(Rnd * 19 + 1)
r = Int(Rnd * 19 + 1)
incontri(1) = "JUVENTUS": incontri(2) = "INTER"
incontri(3) = "LECCE": incontri(4) = "CATANIA"
incontri(5) = "MILAN": incontri(6) = "UDINESE"
incontri(7) = "LAZIO": incontri(8) = "REGGINA"
incontri(9) = "ROMA": incontri(10) = "PALERMO"
incontri(11) = "CHIEVO": incontri(12) = "NAPOLI"
incontri(13) = "ATALANTA": incontri(14) = "CAGLIARI"
incontri(15) = "TORINO": incontri(16) = "SIENA"
incontri(17) = "SAMPDORIA": incontri(18) = "BOLOGNA"
incontri(19) = "FIORENTINA": incontri(20) = "GENOA"
Do
    For i = 1 To 38
    archivio = "C:\Calendario\Serie A\Giornata " & i & "°.fnv"
    If FileLen(archivio) = 0 Then
    End If
    trovato = False
    Open archivio For Input As #1
    Do
    k = Int(Rnd * 19 + 1)
    r = Int(Rnd * 19 + 1)
    Line Input #1, partite
        If k = r Then
        k = Int(Rnd * 9 + 1)
        r = Int(Rnd * 9 + 1)
        End If
        If partite = UCase(Trim(incontri(k) & " - " & incontri(r))) Then
            k = Int(Rnd * 9 + 1)
            r = Int(Rnd * 9 + 1)
            trovato = True
            i = 1
        End If
        If partite = UCase(Trim(incontri(r) & " - " & incontri(k))) Then
            k = Int(Rnd * 9 + 1)
            r = Int(Rnd * 9 + 1)
            trovato = True
            i = 1
        End If
        If Left(partite, Len(incontri(k))) = Trim(UCase(incontri(k))) Then
            k = Int(Rnd * 9 + 1)
            r = Int(Rnd * 9 + 1)
            trovato = True
            i = 1
        End If
        If Left(partite, Len(incontri(r))) = Trim(UCase(incontri(r))) Then
            k = Int(Rnd * 9 + 1)
            r = Int(Rnd * 9 + 1)
            trovato = True
            i = 1
        End If
    Loop Until EOF(1)
    Close #1
    Next i
GestioneErrori:
    If Err.Number = 53 Then
    Close #1
    End If
    If trovato = False Then
    o = o + 1
    archivio2 = "C:\Calendario\Serie A\Giornata " & y & "°.fnv"
    ritorno1 = "C:\Calendario\Serie A\Giornata " & y + 19 & "°.fnv"
    Open archivio2 For Append As #1
    Print #1, incontri(k) & " - " & incontri(r)
    Close #1
    Open ritorno1 For Append As #1
    Print #1, incontri(r) & " - " & incontri(k)
    Close #1
        If o >= 10 Then y = y + 1: o = 0
        End If
Loop Until y > 19
questo codice pero mi da ancora ripetizioni negli archivi creati con le partite.

aiuto

grazie