Note: The other languages of the website are Google-translated. Back to English
Войти  \/ 
x
or
x
Регистрация  \/ 
x

or

Как автоматически скрыть столбцы по дате в 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. Выберите заголовки даты и нажмите Kutools > Выберите > Выбрать определенные ячейки, см. снимок экрана:

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

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

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

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

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

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

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


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

Kutools for Excel решает большинство ваших проблем и увеличивает вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма ...
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон...
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы... Предотвращение дублирования ячеек; Сравнить диапазоны...
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор ...
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое ...
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии...
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом ...
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF...
  • Более 300 мощных функций. Поддерживает Office / Excel 2007-2019 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
вкладка kte 201905

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

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
офисный дно
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Seven · 3 years ago
    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"
  • To post as a guest, your comment is unpublished.
    Chris · 4 years ago
    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.