Vielleicht hilft diese Lösung weiter?
In der Tabelle muss ein Bereich benannt werden:
Spieler: $C$3:$I$8
In Spalte J muss in den ZellenJ3 bis J8 jeweils eine Funktion eingetragen werden:
J3: =Auswertung(A3)
J4: =Auswertung(A4)
J5: =Auswertung(A5)
J6: =Auswertung(A6)
J7: =Auswertung(A7)
J8: =Auswertung(A8)
Im VBA muss ein Modul eingefügt werden mit folgendem Inhalt:
Function Auswertung(Spieler As Range) As Integer
Dim rngSpieler As Range
Dim rngSp As Range, rngCl As Range
Dim lRow As Long
Dim EPt As Integer
Set rngSpieler = ThisWorkbook.Names("Spieler").RefersToRange
lRow = Spieler.Row
For Each rngSp In rngSpieler.Rows
If rngSp.Row < Spieler.Row Then
If rngSp.Cells(1, 1).Value = Spieler.Value Then
For Each rngCl In rngSp.Columns
If rngCl.Value <> Spieler.Value And rngCl.Value <> "" Then
EPt = EPt + 1
End If
Next
End If
Else
Exit For
End If
Next
Auswertung = EPt
End Function
Heraus kommen Zahlen, die fast identisch sind mit denen im Muster.
Jetzt stellt sich nur die Frage, ob in der Auswertung-Funktion ein logischer Fehler enthalten, oder ob im Muster ein Fehler unterlaufen ist.
Eine Beispiel-Arbeitsmappe kann hier heruntergeladen werden.
|