Прескочи на основното съдържание

Как да скрия колони в реално време въз основа на потребителски вход в Excel?

Автор: Xiaoyang Последна промяна: 2022-09-09

Може да е обичайна задача за повечето от нас да скрием колони в 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": Колони("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
Забележка: В горния код, K1 е клетката, в която въвеждате конкретния текст, B1:H1 заглавките на редовете съдържат името на продукта, който искате да филтрирате.

3. След това затворете прозореца с кода. Сега, ако въведете името на продукта в клетка K1, само съответните колони ще бъдат показани, другите ще бъдат скрити; и ако въведете текста „Всички“, всички колони ще се покажат, както е показано в демонстрацията по-долу:

Най-добрите инструменти за продуктивност в офиса

🤖 Kutools AI помощник: Революционизирайте анализа на данни въз основа на: Интелигентно изпълнение   |  Генериране на код  |  Създаване на персонализирани формули  |  Анализирайте данни и генерирайте диаграми  |  Извикване на функциите на Kutools...
Популярни функции: Намерете, маркирайте или идентифицирайте дубликати   |  Изтриване на празни редове   |  Комбинирайте колони или клетки без загуба на данни   |   Кръг без формула ...
Супер търсене: VLookup с множество критерии    VLookup с множество стойности  |   VLookup в няколко листа   |   Размито търсене ....
Разширен падащ списък: Бързо създаване на падащ списък   |  Зависим падащ списък   |  Падащ списък с множество избори ....
Мениджър на колони: Добавете конкретен брой колони  |  Преместване на колони  |  Превключване на състоянието на видимост на скритите колони  |  Сравнете диапазони и колони ...
Препоръчани функции: Мрежов фокус   |  Изглед на дизайна   |   Голям формула бар    Мениджър на работни книги и листове   |  Библиотека с ресурси (Автоматичен текст)   |  Избор на дата   |  Комбинирайте работни листове   |  Шифроване/декриптиране на клетки    Изпращайте имейли по списък   |  Супер филтър   |   Специален филтър (филтър получер/курсив/зачертано...) ...
Топ 15 комплекта инструменти12 Текст Инструменти (добавяне на текст, Премахване на символи, ...)   |   50 + Графика Видове (диаграма на Гант, ...)   |   40+ Практичен формули (Изчислете възрастта въз основа на рождения ден, ...)   |   19 вмъкване Инструменти (Въведете QR код, Вмъкване на картина от пътя, ...)   |   12 Конверсия Инструменти (Числа към думи, Валутен обмен, ...)   |   7 Обединяване и разделяне Инструменти (Разширено комбиниране на редове, Разделени клетки, ...)   |   ... и още

Усъвършенствайте уменията си за Excel с Kutools за Excel и изпитайте ефективност, както никога досега. Kutools за Excel предлага над 300 разширени функции за повишаване на производителността и спестяване на време.  Щракнете тук, за да получите функцията, от която се нуждаете най-много...

Описание


Раздел Office Внася интерфейс с раздели в Office и прави работата ви много по-лесна

  • Разрешете редактиране и четене с раздели в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
  • Отваряйте и създавайте множество документи в нови раздели на един и същ прозорец, а не в нови прозорци.
  • Увеличава вашата производителност с 50% и намалява стотици кликвания на мишката за вас всеки ден!
Comments (0)
No ratings yet. Be the first to rate!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations