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