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