Vba: jak sortować wartości alfabetycznie
Do alfabetycznego sortowania wartości w zakresie można zastosować następującą podstawową składnię w VBA:
Sub SortAlphabetical()
Range(" A1:B11 ").Sort Key1:=Range(" A1 "), Order1:=xlAscending, Header:=xlYes
End Sub
Ten konkretny przykład sortuje wiersze z zakresu A1:B11 na podstawie wartości w kolumnie A alfabetycznie (od A do Z).
Jeśli chcesz posortować wartości w odwrotnej kolejności alfabetycznej (Z do A), możesz zamiast tego określić Order1:=xlDescending .
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: Sortuj wartości alfabetycznie za pomocą 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ć wiersze alfabetycznie według nazwy zespołu.
W tym celu możemy utworzyć następujące makro:
Sub SortAlphabetical()
Range(" A1:B11 ").Sort Key1:=Range(" A1 "), Order1:=xlAscending, Header:=xlYes
End Sub
Kiedy uruchomimy to makro, otrzymamy następujące dane wyjściowe:
Wiersze są teraz sortowane alfabetycznie według nazwy drużyny (od A do Z).
Aby posortować wiersze w odwrotnej kolejności alfabetycznej (Z do A), możemy określić Order1:=xlDescending :
Sub SortAlphabetical()
Range(" A1:B11 ").Sort Key1:=Range(" A1 "), Order1:=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 odwrotnej kolejności alfabetycznej (Z do A).
Uwaga nr 1 : W tym przykładzie posortowaliśmy według jednej kolumny. Można jednak określić więcej kluczy do sortowania według wielu 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 sortować arkusz według wielu kolumn
VBA: Jak policzyć liczbę wierszy w zakresie
VBA: jak filtrować kolumnę