Как сортировать по дате в 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: как фильтровать столбец