Как отфильтровать все ячейки с датами до или после сегодняшнего дня в Excel?
В этой статье я расскажу, как отфильтровать все ячейки с датами, которые находятся до или после текущего дня, на листе Excel.
Фильтрация всех ячеек с датами до или после сегодняшнего дня с помощью функции Фильтр
Фильтрация всех ячеек с датами до или после сегодняшнего дня с использованием кода VBA
Фильтрация всех ячеек с датами до или после сегодняшнего дня с помощью функции Фильтр
На самом деле, функция Фильтр в Excel может помочь вам решить эту задачу максимально быстро. Действуйте следующим образом:
1. Выберите столбец с датами, который хотите отфильтровать, затем нажмите Данные > Фильтр, см. скриншот:

2. Затем нажмите стрелку раскрывающегося списка и выберите Фильтр по датам > До / После, в зависимости от ваших потребностей, см. скриншот:

3. В открывшемся Пользовательском автофильтре диалоговом окне нажмите кнопку Выбор даты
, а затем нажмите кнопку Сегодня в календаре выбора даты, см. скриншот:

4. Затем нажмите OK, чтобы закрыть диалоговое окно, и все даты до или после сегодняшнего дня будут отфильтрованы, как показано на следующем скриншоте:

Фильтрация всех ячеек с датами до или после сегодняшнего дня с использованием кода VBA
Следующие коды VBA также могут помочь вам отфильтровать все даты до или после текущего дня на листе. Пожалуйста, выполните следующие шаги:
1. Нажмите и удерживайте клавиши ALT + F11, чтобы открыть окно Microsoft Visual Basic для приложений.
2. Нажмите Вставить > Модуль и вставьте один из следующих кодов в окно Модуля.
Код VBA: Фильтрация всех ячеек с датами до сегодняшнего дня:
Sub FilterDateBeforeToday()
Dim xLastRow As Long
Dim xRg As Range
On Error Resume Next
Set xRg = Application.InputBox("Please select filtered column:", "KuTools for Excel", Selection.Address, , , , , 8)
If xRg Is Nothing Then Exit Sub
Application.ScreenUpdating = False
ActiveSheet.AutoFilterMode = False
If xRg.Count = 1 Then Set xRg = xRg.CurrentRegion
xRg.AutoFilter 1, "<" & CDbl(Date)
Application.ScreenUpdating = True
End Sub
Код VBA: Фильтрация всех ячеек с датами после сегодняшнего дня:
Sub FilterDateBeforeToday()
Dim xLastRow As Long
Dim xRg As Range
On Error Resume Next
Set xRg = Application.InputBox("Please select filtered column:", "KuTools for Excel", Selection.Address, , , , , 8)
If xRg Is Nothing Then Exit Sub
Application.ScreenUpdating = False
ActiveSheet.AutoFilterMode = False
If xRg.Count = 1 Then Set xRg = xRg.CurrentRegion
xRg.AutoFilter 1, ">" & CDbl(Date)
Application.ScreenUpdating = True
End Sub
3. После копирования и вставки одного из вышеперечисленных кодов нажмите клавишу F5, чтобы запустить этот код, и появится всплывающее окно с запросом выбрать столбец с датами, который вы хотите отфильтровать, см. скриншот:

4. Затем нажмите кнопку OK, и все ячейки с датами до или после сегодняшнего дня будут немедленно отфильтрованы.
Лучшие инструменты для повышения продуктивности в Office
Повысьте свои навыки работы в Excel с Kutools для Excel и ощутите новую эффективность. Kutools для Excel предлагает более300 расширенных функций для повышения продуктивности и экономии времени. Щелкните здесь, чтобы получить наиболее нужную вам функцию...
Office Tab добавляет вкладочный интерфейс в Office, делая вашу работу значительно проще
- Включите редактирование и чтение во вкладках в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Открывайте и создавайте несколько документов во вкладках одного окна, а не в новых окнах.
- Увеличьте свою продуктивность на50% и сократите сотни кликов мышью ежедневно!