Vba: як сортувати аркуш за кількома стовпцями
Ви можете використовувати такий базовий синтаксис, щоб відсортувати аркуш Excel за кількома стовпцями за допомогою VBA:
Sub SortMultipleColumns()
Range(" A1:B11 ").Sort Key1:=Range(" A1 "), Order1:=xlAscending, _
Key2:=Range(" B1 "), Order2:=xlDescending, _
Header:=xlYes
End Sub
У цьому конкретному прикладі клітинки в діапазоні A1:B11 сортуються спочатку за значеннями в стовпці A в порядку зростання, потім за значеннями в стовпці B у порядку спадання.
Зауважте, що Header:=xlYes вказує, що перший рядок слід розглядати як рядок заголовка.
У наступному прикладі показано, як використовувати цей синтаксис на практиці.
Приклад: сортування аркуша Excel за кількома стовпцями за допомогою VBA
Припустімо, у нас є такий набір даних у Excel, який містить інформацію про різних баскетболістів:
Припустімо, ми хочемо відсортувати набір даних таким чином:
- Спочатку відсортуйте значення в стовпці Команда в порядку зростання (від А до Я).
- Далі відсортуйте за значеннями в стовпці «Бали» в порядку спадання (від найбільшого до найменшого).
Для цього ми можемо створити такий макрос:
Sub SortMultipleColumns()
Range(" A1:B11 ").Sort Key1:=Range(" A1 "), Order1:=xlAscending, _
Key2:=Range(" B1 "), Order2:=xlDescending, _
Header:=xlYes
End Sub
Коли ми запускаємо цей макрос, ми отримуємо такий результат:
Рядки тепер відсортовані за назвою команди в порядку зростання та за балами в порядку спадання.
Примітка №1 : у цьому прикладі ми відсортували за двома стовпцями. Однак ви можете вказати стільки ключів, скільки хочете, щоб відсортувати ще більше стовпців.
Примітка №2 : Ви можете знайти повну документацію методу сортування VBA тут .
Додаткові ресурси
У наступних посібниках пояснюється, як виконувати інші типові завдання у VBA:
VBA: як написати функції AVERAGEIF і AVERAGEIFS
VBA: як написати функції SUMIF і SUMIFS
VBA: як написати функції COUNTIF і COUNTIFS