Note: The other languages of the website are Google-translated. Back to English

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

Для большинства из нас может быть обычной задачей скрыть столбцы в Excel, но пытались ли вы когда-нибудь автоматически скрывать столбцы на основе определенных входных значений? Например, когда я ввожу в ячейку текст «AA», столбец A скрывается; когда я ввожу «BB», столбцы B и C скрываются; при вводе «CC» столбец D и E скрывается; при вводе «DD» столбец F скрывается, как показано ниже. В этой статье будет создан код VBA для ее решения в Excel.

Скрытие или отображение столбцов в режиме реального времени на основе пользовательского ввода с помощью кода VBA

Скрыть или показать столбцы для фильтрации данных на основе пользовательского ввода с помощью кода VBA.


Скрытие или отображение столбцов в режиме реального времени на основе пользовательского ввода с помощью кода VBA

Чтобы скрыть определенные столбцы в режиме реального времени на основе входных значений, примените следующий код VBA:

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

2. В открытом Microsoft Visual Basic для приложений окно, скопируйте и вставьте следующий код VBA в Лист (Код) окно.

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

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Updateby ExtendOffice
xcell = Range("K1").Value
Select Case xcell
Case "AA": Columns("A").EntireColumn.Hidden = False
Columns("A").EntireColumn.Hidden = True
Case "BB": Columns("B:C").EntireColumn.Hidden = False
Columns("B:C").EntireColumn.Hidden = True
Case "CC": Columns("D:E").EntireColumn.Hidden = False
Columns("D:E").EntireColumn.Hidden = True
Case "DD": Columns("F").EntireColumn.Hidden = False
Columns("F").EntireColumn.Hidden = True
Case Else
Columns("A:G").EntireColumn.Hidden = False
End Select
End Sub
Внимание: В приведенном выше коде K1 это ячейка, в которую вы вводите определенный текст, и вы должны изменить тексты и имена столбцов в соответствии с вашими потребностями. Кроме того, вы можете добавить другие новые критерии, просто добавив следующие скрипты:
  • Случай "AA": Columns("A").EntireColumn.Hidden = False
  • Столбцы("A").EntireColumn.Hidden = True

3. Затем закройте окно кода. Теперь при вводе «АА» в ячейку К1 и нажмите Enter ключ, столбец A скрыт; при вводе «BB» и нажмите Enter ключ, столбцы B и C скрыты и так далее. Если вы введете любое другое значение или удалите содержимое, сразу отобразятся скрытые столбцы, см. демонстрацию ниже:


Скрыть или показать столбцы для фильтрации данных на основе пользовательского ввода с помощью кода VBA.

В этом примере я перейду к фильтрации диапазона данных на основе введенного названия продукта. Когда я вхожу в «Толстовка», отображается только информация о толстовке, а остальные столбцы сразу скрываются; и когда я ввожу «Все», все столбцы будут отображаться, как показано ниже:

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

2. В открытом Microsoft Visual Basic для приложений окно, скопируйте и вставьте следующий код VBA в Лист (Код) окно.

Код VBA: скрытие или отображение столбцов для фильтрации данных на основе пользовательского ввода.

Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby ExtendOffice
    Dim x As Variant, y As String
     If Target.Address = "$K$1" Then
        y = Target.Value
        With Range("B1:H1")
            Application.ScreenUpdating = False
            .EntireColumn.Hidden = (y <> "All")
            If y <> "All" Then
                For Each x In .Cells
                    If x = y Then x.EntireColumn.Hidden = False
                Next
            End If
            Application.ScreenUpdating = True
        End With
    End If
End Sub
Внимание: В приведенном выше коде K1 это ячейка, в которую вы вводите конкретный текст, B1: H1 заголовки строк содержат название продукта, который вы хотите отфильтровать.

3. Затем закройте окно кода. Теперь, если вы введете название товара в ячейку К1, будут отображаться только соответствующие столбцы, остальные будут скрыты; и если вы введете текст «Все», все столбцы будут отображаться, как показано ниже:


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

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

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

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

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
офисный дно
Сортировать комментарии по
Комментарии (0)
Оценок пока нет. Оцените первым!
Здесь еще нет комментариев
Оставляйте свои комментарии
Публикация как гость
×
Оценить этот пост:
0   Характеристики
Предлагаемые места