Перейти к основному содержанию

Как автоматически скрыть столбцы по дате в Excel?

Предположим, у меня есть диапазон данных на листе, теперь я хочу автоматически скрыть столбцы на основе определенной даты. Например, когда я ввожу дату 5 в ячейку, я хочу сразу скрыть столбцы, дата которых меньше этой конкретной даты, как показано на следующем снимке экрана. В этой статье будут представлены некоторые приемы ее решения.

документ скрыть столбцы по дате 1

Автоматически скрывать столбцы на основе определенной даты с кодом VBA

Скрыть столбцы на основе определенной даты с помощью Kutools for Excel


стрелка синий правый пузырь Автоматически скрывать столбцы на основе определенной даты с кодом VBA

Для выполнения этой задачи вам может помочь следующий код VBA. Сделайте следующее:

1. Выберите вкладку листа, которую вы хотите скрыть по дате, и щелкните правой кнопкой мыши, чтобы выбрать Просмотреть код из контекстного меню, чтобы перейти к Microsoft Visual Basic для приложений окно, а затем скопируйте и вставьте следующий код в модуль:

Код VBA: автоматически скрывать столбцы на основе определенной даты:

Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby Extendoffice
    Dim xCell As Range
    If Target.Address <> Range("K4").Address Then Exit Sub
    Application.ScreenUpdating = False
    For Each xCell In Range("A1:I1")
        xCell.EntireColumn.Hidden = (xCell.Value < Target.Value)
    Next
    Application.ScreenUpdating = True
End Sub

документ скрыть столбцы по дате 2

2. Затем сохраните и закройте этот код, вернитесь на рабочий лист, и теперь, когда вы вводите дату в ячейку K4, столбцы, дата которых меньше указанной даты, будут автоматически скрыты.

Внимание: В приведенном выше коде K4 - это конкретная ячейка даты, на которой вы хотите скрыть столбцы, A1: I1 содержит ли ячейки строки указанную вами дату.


стрелка синий правый пузырь Скрыть столбцы на основе определенной даты с помощью Kutools for Excel

Если вы не знакомы с кодом, вот удобный инструмент -Kutools for Excel, С его Выбрать определенные ячейки утилита, вы можете легко завершить эту работу.

Kutools for Excel : с более чем 300 удобными надстройками Excel, бесплатно и без ограничений в течение 30 дней. 

После установки Kutools for Excel, пожалуйста, сделайте следующее:

1. Выберите заголовки даты и нажмите Кутулс > Выберите > Выбрать определенные ячейки, см. снимок экрана:

2. В выскочившем Выбрать определенные ячейки диалоговое окно, выберите Вся колонка из Тип выбора, а затем выберите критерии, например Менее из Конкретный тип раскрывающийся список и введите дату в текстовое поле рядом с которым вы хотите скрыть столбцы на основе, см. снимок экрана:

документ скрыть столбцы по дате 4

3, Затем нажмите Ok Кнопка, сразу выбираются определенные столбцы, дата которых меньше 5, см. снимок экрана:

документ скрыть столбцы по дате 5

4. Затем щелкните правой кнопкой мыши любой выбранный заголовок столбца и выберите Спрятать чтобы скрыть эти выбранные столбцы по мере необходимости. Смотрите скриншот:

документ скрыть столбцы по дате 6

Нажмите "Бесплатная загрузка Kutools for Excel"!

Лучшие инструменты для офисной работы

🤖 Kutools AI Помощник: Революционный анализ данных на основе: Интеллектуальное исполнение   |  Генерировать код  |  Создание пользовательских формул  |  Анализ данных и создание диаграмм  |  Вызов функций Kutools...
Популярные опции: Найдите, выделите или определите дубликаты   |  Удалить пустые строки   |  Объедините столбцы или ячейки без потери данных   |   Раунд без формулы ...
Супер поиск: Множественный критерий VLookup    VLookup с несколькими значениями  |   VLookup по нескольким листам   |   Нечеткий поиск ....
Расширенный раскрывающийся список: Быстрое создание раскрывающегося списка   |  Зависимый раскрывающийся список   |  Выпадающий список с множественным выбором ....
Менеджер столбцов: Добавить определенное количество столбцов  |  Переместить столбцы  |  Переключить статус видимости скрытых столбцов  |  Сравнить диапазоны и столбцы ...
Рекомендуемые функции: Сетка Фокус   |  Просмотр дизайна   |   Большой Формулный Бар    Менеджер книг и листов   |  Библиотека ресурсов (Авто текст)   |  Выбор даты   |  Комбинировать листы   |  Шифровать/дешифровать ячейки    Отправлять электронные письма по списку   |  Суперфильтр   |   Специальный фильтр (фильтровать жирным шрифтом/курсивом/зачеркиванием...) ...
15 лучших наборов инструментов12 Текст Инструменты (Добавить текст, Удалить символы, ...)   |   50+ График Тип (Диаграмма Ганта, ...)   |   40+ Практических Формулы (Рассчитать возраст по дню рождения, ...)   |   19 Вносимые Инструменты (Вставить QR-код, Вставить изображение из пути, ...)   |   12 Конверсия Инструменты (Числа в слова, Конверсия валюты, ...)   |   7 Слияние и разделение Инструменты (Расширенные ряды комбинирования, Разделить клетки, ...)   |   ... и более

Улучшите свои навыки работы с Excel с помощью Kutools for Excel и почувствуйте эффективность, как никогда раньше. Kutools for Excel предлагает более 300 расширенных функций для повышения производительности и экономии времени.  Нажмите здесь, чтобы получить функцию, которая вам нужна больше всего...

Описание


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
Comments (2)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
I have the same issue as Chris. The cell with my date does not always change. I need the macro to run regardless of whether the date has changed from last month or is the same as last month without having to click on the cell itself and hit enter to trigger the "Change"
This comment was minimized by the moderator on the site
Hello,
Thanks for the code.
In my case the cell K4 is a calculation cell from the formula =EOMONTH(A1,0). Example: A1 = 01.03.2017. K4 takes the value 31.03.2017. But the VBA code that you propose does not hide the columns until I click on K4 cell and press Enter to refresh it. I tried to add Range("K4").calculate but with no effect. Help please.
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations