Vba: як сортувати значення за алфавітом
Ви можете використовувати такий базовий синтаксис у VBA, щоб сортувати значення в діапазоні за алфавітом:
Sub SortAlphabetical()
Range(" A1:B11 ").Sort Key1:=Range(" A1 "), Order1:=xlAscending, Header:=xlYes
End Sub
У цьому конкретному прикладі рядки в діапазоні A1:B11 сортуються на основі значень у стовпці A в алфавітному порядку (від А до Я).
Якщо ви хочете відсортувати значення в зворотному алфавітному порядку (від Я до А), замість цього можна вказати Order1:=xlDescending .
Зауважте, що Header:=xlYes вказує, що перший рядок слід розглядати як рядок заголовка.
У наступному прикладі показано, як використовувати цей синтаксис на практиці.
Приклад: сортування значень за алфавітом за допомогою VBA
Припустімо, у нас є такий набір даних у Excel, який містить інформацію про різних баскетболістів:
Припустімо, ми хочемо відсортувати рядки за назвою команди в алфавітному порядку.
Для цього ми можемо створити такий макрос:
Sub SortAlphabetical()
Range(" A1:B11 ").Sort Key1:=Range(" A1 "), Order1:=xlAscending, Header:=xlYes
End Sub
Коли ми запускаємо цей макрос, ми отримуємо такий результат:
Рядки тепер відсортовано за назвою команди в алфавітному порядку (від А до Я).
Щоб відсортувати рядки в зворотному алфавітному порядку (від Я до А), ми можемо вказати Order1:=xlDescending :
Sub SortAlphabetical()
Range(" A1:B11 ").Sort Key1:=Range(" A1 "), Order1:=xlDescending, Header:=xlYes
End Sub
Коли ми запускаємо цей макрос, ми отримуємо такий результат:
Рядки тепер відсортовано за назвою команди в зворотному алфавітному порядку (від Я до А).
Примітка №1 : у цьому прикладі ми відсортували в одному стовпці. Однак ви можете вказати більше ключів для сортування в кількох стовпцях.
Примітка №2 : ви можете знайти повну документацію методу сортування VBA тут .
Додаткові ресурси
У наступних посібниках пояснюється, як виконувати інші типові завдання у VBA:
VBA: Як сортувати аркуш за кількома стовпцями
VBA: як підрахувати кількість рядків у діапазоні
VBA: як відфільтрувати стовпець