Как настроить автоматическую сортировку дат при их вводе или изменении в Excel?
В Excel функция Сортировка позволяет упорядочивать даты по возрастанию или убыванию — как вам удобно. Однако она не динамическая: если вы отсортировали даты, а потом добавили новую, сортировку придётся выполнять заново. Существуют ли простые и быстрые способы автоматически сортировать даты каждый раз при вводе новых данных на лист?
Автоматическая сортировка дат при вводе или изменении с помощью формулы
Автоматическая сортировка дат при вводе или изменении с помощью кода VBA
Автоматическая сортировка дат при вводе или изменении с помощью формулы
Например, если исходные даты расположены в столбце A, следующая формула автоматически отсортирует даты или любые текстовые строки в новый вспомогательный столбец на основе нужного вам столбца. Выполните следующие действия:
1. Введите эту формулу:
=INDEX($A$2:$A$15,MATCH(ROWS($A$2:A2),COUNTIF($A$2:$A$15,«<,=»&,$A$2:$A$15),0)) в пустую ячейку рядом со столбцом дат, например C2, а затем одновременно нажмите клавиши Ctrl + Shift + Enter, чтобы получить последовательность чисел. Далее перетащите маркер заполнения вниз до нужных ячеек. См. снимок экрана:
Примечание: В приведённой выше формуле: A2:A15 — это ваш исходный диапазон дат, который вы хотите автоматически отсортировать.

2. Затем отформатируйте числа как дату, выбрав пункт Краткая дата в раскрывающемся списке Общий на вкладке Главная (см. снимок экрана):

3. Теперь последовательные числа преобразованы в формат даты, а исходные даты — отсортированы. См. снимок экрана:

4. Теперь при вводе или изменении даты в столбце A даты в столбце C будут автоматически сортироваться по возрастанию. См. снимок экрана:

Автоматическая сортировка дат при вводе или изменении с помощью кода VBA
Следующий код VBA автоматически сортирует даты в исходном столбце при их вводе или изменении — ровно так, как вам нужно.
1. Перейдите на лист, где вы хотите автоматически сортировать даты при их вводе или изменении.
2. Щелкните правой кнопкой мыши ярлык листа и выберите в контекстном меню пункт Просмотреть код. В открывшемся окне Microsoft Visual Basic для приложений скопируйте и вставьте следующий код в пустое окно Модуль, см. снимок экрана:
Код VBA: автоматическая сортировка при вводе или изменении даты:
Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby Extendoffice
On Error Resume Next
If Application.Intersect(Target, Application.Columns(1)) Is Nothing Then Exit Sub
If Target.Count > 1 Then Exit Sub
Range("A1").Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End Sub

Примечание: В приведённом выше коде введённые даты будут автоматически сортироваться в столбце A. Вы можете заменить A1 и A2 на нужные вам ячейки.
3. Теперь при вводе даты в столбец A они будут автоматически сортироваться по возрастанию.
Лучшие инструменты повышения продуктивности в Office
Раскройте весь потенциал Excel с помощью Kutools для Excel и ощутите эффективность как никогда раньше.Kutools для Excel предлагает более 300 расширенных функций для повышения продуктивности и Экономия времени.Нажмите здесь, чтобы получить нужную Вам функцию…
Office Tab добавляет в Office вкладки и значительно упрощает Вашу работу
- Включите редактирование и чтение во вкладках в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Открывайте и создавайте несколько документов во вкладках одного окна — вместо того чтобы использовать отдельные окна.
- Повышает вашу продуктивность на 50 % и экономит сотни кликов мышью каждый день!
Все надстройки Kutools — один установщик
Kutools for Office — набор надстроек для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro, идеально подходящий командам, работающим с разными приложениями Office.
- Единый комплект— надстройки для Excel, Word, Outlook и PowerPoint + Office Tab Pro
- Один установщик, одна лицензия— настройка занимает считанные минуты (готово для MSI)
- Лучше работать вместе— оптимизированная продуктивность во всех приложениях Office
- 30-дневная полнофункциональная пробная версия— без регистрации и кредитной карты
- Лучшее соотношение цены и качества— экономия по сравнению с покупкой отдельных надстроек