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