Як сортувати за датою у 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: як відфільтрувати стовпець

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *