Как скрыть столбцы в реальном времени на основе ввода пользователя в Excel?
Скрытие столбцов в Excel может быть обычной задачей, но пробовали ли вы когда-нибудь автоматически скрывать столбцы на основе определенных значений ввода? Например, когда я ввожу текст «AA» в ячейку, столбец A скрывается; когда я ввожу «BB», столбцы B и C скрываются; при вводе «CC» скрываются столбцы D и E; при вводе «DD» скрывается столбец F, как показано в демонстрации ниже. В этой статье будет представлен код VBA для решения этой задачи в Excel.
Использование кода VBA для скрытия или отображения столбцов в реальном времени на основе ввода пользователя
Чтобы скрыть определенные столбцы в реальном времени на основе значений ввода, примените следующий код VBA:
1. На листе, где вы хотите скрыть столбцы, щелкните правой кнопкой мыши вкладку листа, а затем выберите "Вид кода" из контекстного меню, см. скриншот.
2. В открывшемся окне "Microsoft Visual Basic for Applications" скопируйте и вставьте следующий код 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
- Case "AA": Columns("A").EntireColumn.Hidden = False
- Columns("A").EntireColumn.Hidden = True
3. Затем закройте окно кода. Теперь, когда вы вводите «AA» в ячейке K1 и нажимаете клавишу "Enter", столбец A скрывается; когда вы вводите «BB» и нажимаете клавишу "Enter", столбцы B и C скрываются, и так далее. Если вы введете любое другое значение или удалите содержимое, скрытые столбцы будут немедленно отображены, см. демонстрацию ниже:
Использование кода VBA для скрытия или отображения определенных столбцов на основе ввода пользователя
В этом примере я собираюсь отфильтровать диапазон данных на основе введенного имени продукта. Когда я ввожу «Худи», отображается только информация о худи, а остальные столбцы сразу же скрываются; а когда я ввожу «Все», все столбцы отображаются, как показано в демонстрации ниже:
1. На листе, где вы хотите скрыть столбцы, щелкните правой кнопкой мыши вкладку листа, а затем выберите "Вид кода" из контекстного меню, см. скриншот:
2. В открывшемся окне "Microsoft Visual Basic for Applications" скопируйте и вставьте следующий код 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
3. Затем закройте окно кода. Теперь, если вы введете название продукта в ячейку K1, будут отображаться только соответствующие столбцы, остальные будут скрыты; а если вы введете текст «Все», все столбцы появятся, как показано в демонстрации ниже:
Лучшие инструменты для повышения продуктивности в Office
Повысьте свои навыки работы в Excel с помощью Kutools для Excel и ощутите эффективность на новом уровне. Kutools для Excel предлагает более300 расширенных функций для повышения производительности и экономии времени. Нажмите здесь, чтобы выбрать функцию, которая вам нужнее всего...
Office Tab добавляет вкладки в Office и делает вашу работу намного проще
- Включите режим вкладок для редактирования и чтения в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Открывайте и создавайте несколько документов во вкладках одного окна вместо новых отдельных окон.
- Увеличьте свою продуктивность на50% и уменьшите количество щелчков мышью на сотни ежедневно!
Все надстройки Kutools. Один установщик
Пакет Kutools for Office включает надстройки для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro — идеально для команд, работающих в разных приложениях Office.





- Комплексный набор — надстройки для Excel, Word, Outlook и PowerPoint плюс Office Tab Pro
- Один установщик, одна лицензия — настройка занимает считанные минуты (MSI-совместимо)
- Совместная работа — максимальная эффективность между приложениями Office
- 30-дневная полнофункциональная пробная версия — без регистрации и кредитной карты
- Лучшее соотношение цены и качества — экономия по сравнению с покупкой отдельных надстроек