Vba: jak sortować arkusz według wielu kolumn


Aby posortować arkusz Excela według wielu kolumn za pomocą języka VBA, możesz użyć następującej podstawowej składni:

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

W tym konkretnym przykładzie komórki z zakresu A1:B11 sortowane są najpierw według wartości w kolumnie A w kolejności rosnącej, a następnie według wartości w kolumnie B w kolejności malejącej.

Zauważ, że Header:=xlYes określa, że pierwsza linia powinna być traktowana jako linia nagłówka.

Poniższy przykład pokazuje, jak zastosować tę składnię w praktyce.

Przykład: sortowanie arkusza programu Excel według wielu kolumn przy użyciu języka VBA

Załóżmy, że mamy w programie Excel następujący zbiór danych zawierający informacje o różnych koszykarzach:

Załóżmy, że chcemy posortować zbiór danych w następujący sposób:

  • Najpierw posortuj według wartości w kolumnie Zespół w kolejności rosnącej (A do Z).
  • Następnie posortuj według wartości w kolumnie Punkty w kolejności malejącej (od największej do najmniejszej).

W tym celu możemy utworzyć następujące makro:

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

Kiedy uruchomimy to makro, otrzymamy następujące dane wyjściowe:

Wiersze są teraz sortowane według nazwy drużyny w kolejności rosnącej i według punktów w kolejności malejącej.

Uwaga nr 1 : W tym przykładzie posortowaliśmy według dwóch kolumn. Możesz jednak określić dowolną liczbę kluczy, aby posortować jeszcze więcej kolumn.

Uwaga #2 : Pełną dokumentację metody sortowania VBA znajdziesz tutaj .

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w VBA:

VBA: Jak napisać funkcje ŚREDNIA.JEŻELI i ŚREDNIA.JEŻELI
VBA: Jak pisać funkcje SUMIF i SUMIFS
VBA: Jak pisać funkcje COUNTIFS i COUNTIFS

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *