Hallo Micha,
ich habe den Code um 2 Prozeduren erweitert, um die
Doppeleinsätze zu verhindern. 100% funzt das zwar nicht, aber es ist ein Ansatz.
Versuche es mal damit:
Gruß,
Ptonka
Sub paarungen()
'Spalten L und M löschen
Columns(„L:M“).Select
Selection.ClearContents
Range(„L1“).Select
'Matrix steht in A1:J10
'Letzten Eintrag in Spalte A ermitteln
LetzteZeile = [A65536].End(xlUp).Row
'Letzten Eintrag in Zeile 1 ermitteln
LetzteSpalte = Cells(1, Columns.Count).End(xlToLeft).Column
For z = 2 To LetzteZeile
TN1 = Cells(z, 1).Value
For s = 2 To LetzteSpalte
TN2 = Cells(1, s).Value
Select Case TN1
Case Is = TN2
GoTo weiter
End Select
Paar1 = Cells(z, 1).Value
Paar2 = Cells(1, s).Value
Paarung = Paar1 & " - " & Paar2
LetzteZeile_L = [L65536].End(xlUp).Row
'ermittelte Paarung in Spalte L (ab Zeile 3) schreiben
Cells(LetzteZeile_L + 1, 12).Value = Paarung
Next s
weiter:
Next z
Range(„L1“).Value = „Paarungen nach Reihe“
Range(„M1“).Value = „Paarungen sortiert“
Call sort1
Call sort2
Range(„M1“).Select
End Sub
Sub sort1()
'Sortieren des jew. 1. gegen den jew. letzten
'Also der 1. in Spalte L gegen den Letzten der Spalte L
'dann der 2. in Spalte L gegen den vorletzten der Spalte L
'dann der 3. in Spalte L gegen den drittletzten der Spalte L u.s.w.
letzteZeile2 = [L65536].End(xlUp).Row
For i = 2 To letzteZeile2 / 2 + 1
Zähler = Zähler + 1
j = i + Zähler
If i = 2 Then
Cells(2, 13).Value = Cells(2, 12).Value
Zähler = 0
GoTo weiter
End If
Cells(j, 13).Value = Cells(i, 12).Value
weiter:
Next i
End Sub
Sub sort2()
letzteZeile2 = [L65536].End(xlUp).Row
For i = letzteZeile2 To letzteZeile2 / 2 + 1 Step -1
Zähler = Zähler + 1
j = i - Zähler
If i = letzteZeile2 Then
Cells(letzteZeile2, 13).Value = Cells(letzteZeile2, 12).Value
Zähler = 0
GoTo weiter
End If
Cells(j, 13).Value = Cells(i, 12).Value
weiter:
Next i
End Sub