bin neu, wie man sicherlich sieht und merkt.
Habe ein leidliches Problem mit einem kleinen Versuch in VBA.
Ich möchte Spalte B (ab Zeile 5), in welcher die Anzahl von Startvorgängen aufgelistet ist, auswerten und die 10 größten Werte heraussuchen. Dazu sollen die entsprechenden Werte aus Spalte A (Vorgangsnummern) ausgegeben werden. Ich habe das mit folgendem code gelöst.
Public Sub top10Gesamtzahlen()
Dim i As Integer
Dim rngSrc As Range
Dim top(1 To 10) As Double
Dim zeile(1 To 10) As Integer
With ausgabe
Set rngSrc = ThisWorkbook.Worksheets("Vergleichsliste").Range("b5:b100")
For i = 1 To 10
top(i) = Application.WorksheetFunction.Large(rngSrc, i)
' zeile(i) = rngSrc.Find(What:=top(i), LookIn:=xlValues, LookAt:=xlWhole, _
SearchDirection:=xlNext).Row
zeile(i) = Application.WorksheetFunction.Match(top(i), rngSrc, 0) + 4
Next
End With
For i = 1 To 10
ThisWorkbook.Worksheets("Ausgabe").Cells(2, 3 + i) = ThisWorkbook.Worksheets(" _
Vergleichsliste").Cells(zeile(i), 1)
ThisWorkbook.Worksheets("Ausgabe").Cells(3, 3 + i) = top(i)
Next
End Sub
Mein Problem ist, dass ich an dieser Stelle bei Dopplungen der Anzahl an Startvorgängen immer nur eine Vorgangsnummer ausgegeben bekomme. Hier ein Bsp. der Liste.A B
Z5 1 5
Z6 2 7
Z7 3 5
Z8 4 6
....
Ausgegeben bekomme ich hier:
3 4 1 1 ...
7 6 5 5 ...
Habe es mit .Find und .Match probiert aber beides führt zum gleichen Resultat.
Wie kann ich das umgehen und bei gleichen Anzahlen auch die verschiedenen dazugehörigen Zeilenwerte bekommen? Hat da jemand ne Idee für mich?
Gruß
Marc