Как да скрия колони в реално време въз основа на потребителски вход в 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
- Случай "AA": Колони("A").EntireColumn.Hidden = False
- Columns("A").EntireColumn.Hidden = True
3. След това затворете прозореца с кода. Сега, когато въведете „AA“ в клетка K1 и натиснете Въведете ключ, колоната A е скрита; при въвеждане на “BB” и натиснете Въведете клавиш, колоната B и C са скрити и т.н. Ако въведете друга стойност или изтриете съдържанието, скритите колони ще се покажат веднага, вижте демонстрацията по-долу:
Скрийте или покажете колони, за да филтрирате данни въз основа на въведени от потребителя с VBA код
В този пример ще отида да филтрирам диапазон от данни въз основа на въведено име на продукт. Когато въведа „Hoodie“, се показва само информация за Hoodie и другите колони ще бъдат скрити наведнъж; и когато въведа „Всички“, всички колони ще се покажат, както е показано в демонстрацията по-долу:
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. След това затворете прозореца с кода. Сега, ако въведете името на продукта в клетка K1, само съответните колони ще бъдат показани, другите ще бъдат скрити; и ако въведете текста „Всички“, всички колони ще се покажат, както е показано в демонстрацията по-долу:
Най-добрите инструменти за продуктивност в офиса
Усъвършенствайте уменията си за Excel с Kutools за Excel и изпитайте ефективност, както никога досега. Kutools за Excel предлага над 300 разширени функции за повишаване на производителността и спестяване на време. Щракнете тук, за да получите функцията, от която се нуждаете най-много...
Раздел Office Внася интерфейс с раздели в Office и прави работата ви много по-лесна
- Разрешете редактиране и четене с раздели в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Отваряйте и създавайте множество документи в нови раздели на един и същ прозорец, а не в нови прозорци.
- Увеличава вашата производителност с 50% и намалява стотици кликвания на мишката за вас всеки ден!