Vba: een blad sorteren op meerdere kolommen


U kunt de volgende basissyntaxis gebruiken om een Excel-werkblad op meerdere kolommen te sorteren met behulp van VBA:

 Sub SortMultipleColumns()
    Range(" A1:B11 ").Sort Key1:=Range(" A1 "), Order1:=xlAscending, _
                         Key2:=Range(" B1 "), Order2:=xlDescending, _
                         Header:=xlYes
End Sub

In dit specifieke voorbeeld worden de cellen in het bereik A1:B11 eerst gesorteerd op de waarden in kolom A in oplopende volgorde, en vervolgens op de waarden in kolom B in aflopende volgorde.

Houd er rekening mee dat Header:=xlYes aangeeft dat de eerste regel als kopregel moet worden behandeld.

Het volgende voorbeeld laat zien hoe u deze syntaxis in de praktijk kunt gebruiken.

Voorbeeld: sorteer een Excel-blad op meerdere kolommen met behulp van VBA

Stel dat we de volgende gegevensset in Excel hebben die informatie bevat over verschillende basketbalspelers:

Stel dat we de dataset op de volgende manier willen sorteren:

  • Sorteer eerst op de waarden in de kolom Team in oplopende volgorde (A tot Z).
  • Sorteer vervolgens op de waarden in de kolom Punten in aflopende volgorde (van groot naar klein).

We kunnen hiervoor de volgende macro maken:

 Sub SortMultipleColumns()
    Range(" A1:B11 ").Sort Key1:=Range(" A1 "), Order1:=xlAscending, _
                         Key2:=Range(" B1 "), Order2:=xlDescending, _
                         Header:=xlYes
End Sub

Wanneer we deze macro uitvoeren, ontvangen we de volgende uitvoer:

Rijen worden nu gesorteerd op teamnaam in oplopende volgorde en op punten in aflopende volgorde.

Opmerking #1 : In dit voorbeeld hebben we op twee kolommen gesorteerd. U kunt echter zoveel sleutels opgeven als u wilt, zodat u nog meer kolommen kunt sorteren.

Opmerking #2 : U kunt hier de volledige documentatie van de VBA- sorteermethode vinden.

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in VBA kunt uitvoeren:

VBA: Hoe AVERAGEIF- en AVERAGEIFS-functies te schrijven
VBA: SUMIF- en SUMIFS-functies schrijven
VBA: Hoe COUNTIF- en COUNTIFS-functies te schrijven

Einen Kommentar hinzufügen

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