Как автоматически отсортировать дату при вводе или изменении даты в 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, например, а затем нажмите Shift + Ctrl + 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, дата будет сортироваться автоматически по возрастанию.
Лучшие инструменты для офисной работы
Улучшите свои навыки работы с Excel с помощью Kutools for Excel и почувствуйте эффективность, как никогда раньше. Kutools for Excel предлагает более 300 расширенных функций для повышения производительности и экономии времени. Нажмите здесь, чтобы получить функцию, которая вам нужна больше всего...
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!