ich möchte mit folgendem Code:
Private Sub Ranking()
Dim i As Long, mat(1 To 500) As Variant, ii As Long
With Application.WorksheetFunction
Range(Range("DY_Rang").Offset(1, 0), Range("Total_Rang").Offset(5000, 0)).ClearContents
i = 1
Do Until Range("Ticker").Offset(i, 0) = ""
' Fehler filtern
If Not IsNumeric(Range("DY").Offset(i, 0)) Then Range("DY").Offset(i, 0) = 0
If Not IsNumeric(Range("PE").Offset(i, 0)) Then Range("PE").Offset(i, 0) = 999
' Ranking
Range("DY_Rang").Offset(i, 0) = .Rank(Range("DY").Offset(i, 0), Range(Range("DY").Offset(1, 0), Range("DY").Offset(500, 0)))
Range("PE_Rang").Offset(i, 0) = .Rank(Range("PE").Offset(i, 0), Range(Range("PE").Offset(1, 0), Range("PE").Offset(500, 0)), 1)
' Gewichteter Rang einlesen
mat(i) = Range("DY_Rang").Offset(i, 0) * Range("DY_Rang_Wgt") + Range("PE_Rang").Offset(i, 0) * Range("PE_Rang_Wgt")
i = i + 1
Loop
' Total Rang ausgeben
For ii = 1 To i - 1
Range("Total_Rang").Offset(i, 0) = .Rank(mat(ii), mat()) ' Fehler
Next
End With
End Sub
den Rang aus der Matrix mat() errechnen. Leider ist jedoch Excel offensichtlich nicht in der Lage diese in Rank zu ermitteln (mit Sum gibt es keine Probleme). Wer könnte mir eine Idee geben, wie eine alternative Lösung aussehen könnte.
Danke.
Matthias