Как скрыть столбцы в режиме реального времени на основе пользовательского ввода в Excel?
Для большинства из нас может быть обычной задачей скрыть столбцы в Excel, но пытались ли вы когда-нибудь автоматически скрывать столбцы на основе определенных входных значений? Например, когда я ввожу в ячейку текст «AA», столбец A скрывается; когда я ввожу «BB», столбцы B и C скрываются; при вводе «CC» столбец D и E скрывается; при вводе «DD» столбец F скрывается, как показано ниже. В этой статье будет создан код VBA для ее решения в Excel.
Скрытие или отображение столбцов в режиме реального времени на основе пользовательского ввода с помощью кода 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
- Случай "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
3. Затем закройте окно кода. Теперь, если вы введете название товара в ячейку К1, будут отображаться только соответствующие столбцы, остальные будут скрыты; и если вы введете текст «Все», все столбцы будут отображаться, как показано ниже:
Лучшие инструменты для офисной работы
Усовершенствуйте свои навыки работы с Excel с помощью Kutools for Excelи испытайте эффективность, как никогда раньше. Kutools for Excel Предлагает более 300 расширенных функций для повышения производительности и экономии времени. Нажмите здесь, чтобы получить функцию, которая вам нужна больше всего...
Office Tab Добавляет в Office интерфейс с вкладками и значительно упрощает вашу работу
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
