Vba: so klassifizieren sie eine werteliste
Sie können die folgende grundlegende Syntax verwenden, um eine Werteliste in Excel mithilfe von VBA zu bestellen:
 SubRankValues ()
    Dim i As Integer
    For i = 2 To 11
    Range(" C " & i) = WorksheetFunction.Rank(Range(" B " & i), Range(" B2:B11 "), 0)
    Next i
End Sub
In diesem speziellen Beispiel werden die Werte in den Zellen B2:B11 geordnet und die Ränge in den Zellen C2:C11 angezeigt.
Das letzte Argument von 0 gibt an, dass die Werte in aufsteigender Reihenfolge sortiert werden müssen (der größte Wert erhält den Rang 1, der zweitgrößte Wert erhält den Rang 2 usw.).
Um die Werte in absteigender Reihenfolge zu ordnen, ersetzen Sie einfach die 0 durch 1 .
Das folgende Beispiel zeigt, wie diese Syntax in der Praxis verwendet wird.
Beispiel: So ordnen Sie Werte mit VBA an
Angenommen, wir haben die folgende Liste von Basketballspielern mit ihren erzielten Punkten:

Angenommen, wir möchten den Rang jedes Werts in der Punktespalte berechnen.
Dazu können wir das folgende Makro erstellen:
 SubRankValues ()
    Dim i As Integer
    For i = 2 To 11
    Range(" C " & i) = WorksheetFunction.Rank(Range(" B " & i), Range(" B2:B11 "), 0)
    Next i
End Sub
Wenn wir dieses Makro ausführen, erhalten wir die folgende Ausgabe:

Die Rangfolge der einzelnen Werte in der Punktespalte wird in Spalte C angezeigt.
Zum Beispiel:
- Spieler H hat mit 41 Punkten den höchsten Punktewert, er erhält also Rang 1 .
- Spieler C hat mit 40 Punkten den zweithöchsten Punktewert, er erhält also Rang 2 .
Und so weiter.
Um die Werte in der Punktespalte in absteigender Reihenfolge zu ordnen, können wir das letzte Argument der Rank- Methode von 0 auf 1 ändern:
 SubRankValues ()
    Dim i As Integer
    For i = 2 To 11
    Range(" C " & i) = WorksheetFunction.Rank(Range(" B " & i), Range(" B2:B11 "), 1)
    Next i
End Sub
Wenn wir dieses Makro ausführen, erhalten wir die folgende Ausgabe:

Die Rangfolge der einzelnen Werte in der Punktespalte wird in Spalte C angezeigt.
Zum Beispiel:
- Spieler I hat mit 11 Punkten den niedrigsten Punktewert, er erhält also Rang 1 .
- Spieler E hat mit 13 Punkten den zweitniedrigsten Punktewert, er erhält also Rang 2 .
Und so weiter.
Hinweis : Die vollständige Dokumentation zur VBA- Rank -Methode finden Sie hier .
Zusätzliche Ressourcen
In den folgenden Tutorials wird erläutert, wie Sie andere häufige Aufgaben in VBA ausführen:
 VBA: So zählen Sie Zellen mit bestimmtem Text
 VBA: So zählen Sie die Anzahl der Zeilen im Bereich
 VBA: So schreiben Sie COUNTIF- und COUNTIFS-Funktionen
