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

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert