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

Как да създадете динамични каскадни списъчни полета в Excel?

Автор: Силувия Последна промяна: 2018-06-14

Може да знаете как да създадете падащ списък за каскадно валидиране в Excel. Как обаче да създадете динамични каскадни списъчни полета в Excel? Тази статия представя метод на VBA за свалянето му.

Създавайте динамични каскадни списъци с VBA код


Създавайте динамични каскадни списъци с VBA код

Както е показано на екранната снимка по-долу, трябва да създадете родителско списъчно поле, съдържащо уникалните стойности на колоната Напитка, и да покажете всички съответстващи стойности във второто списъчно поле въз основа на избора в родителското списъчно поле. Следният VBA код ви помага да го постигнете. Моля, направете следното.

1. Първо, трябва да извлечете всички уникални стойности от колоната Drink. Изберете празна клетка, въведете формула за масив =IFERROR(INDEX($A$2:$A$11, MATCH(0,COUNTIF($J$1:J1, $A$2:$A$11), 0)),"") в Формула Бар, след което натиснете Ctrl + Превключване + Въведете ключ. След това плъзнете Дръжка за пълнене за да получите всички уникални стойности. Вижте екранна снимка:

Забележка: Във формулата, $A$2:$A$11 е диапазонът, от който ще извлечете уникални стойности. J1 е клетката отгоре, където се намира вашата формула.

тип: Ако формулата е твърде трудна за запомняне и работа, Изберете Дублирани и уникални клетки полезност на Kutools за Excel ще бъде добър избор за бързо извличане на всички уникални стойности от колона.

Моля, изберете колоната, която съдържа уникални стойности, от които ще извличате. След това активирайте помощната програма, като щракнете Kutools > Изберете > Изберете Дублирани и уникални клетки. В Изберете Дублирани и уникални клетки диалогов прозорец, изберете Всички уникални (включително първите дубликати) и щракнете върху OK бутон. След това всички уникални стойности се избират в колоната. Моля, копирайте ги и ги поставете на ново място. Вижте екранна снимка:

Kutools за Excel: с повече от 200 удобни добавки за Excel, безплатни за изпробване без ограничение за 60 дни. Изтеглете и изпробвайте безплатно сега!

2. Вмъкнете две списъчни полета отделно, като щракнете Софтуерен Инженер > Поставете > Списъчно поле (ActiveX Control). Вижте екранна снимка:

3. Щракнете с десния бутон върху родителското списъчно поле и изберете Имоти от контекстното меню. В Имоти диалогов прозорец, променете (Име) поле към Пия или друго име, както ви е необходимо, въведете диапазона от клетки, съдържащ извлечените уникални стойности в ListFillRange поле и затворете диалоговия прозорец.

4. Повторете стъпка 3, за да промените второто списъчно поле (Име) поле към елемент в Имоти диалогов прозорец.

5. Щракнете с десния бутон върху раздела на листа и изберете Преглед на кода от менюто с десен клик. След това копирайте под VBA кода в прозореца на кода. Вижте екранна снимка:

VBA код: Създайте динамични каскадни списъчни полета в Excel

Dim xPreStr As String
Private Sub Drink_Click()
'Update by Extendoffice 2018/06/04
    Dim I, xRows As Long
    Dim xRg As Range
    Dim xRegStr As String
    Application.ScreenUpdating = False
    xRegStr = Me.Drink.Text
    Set xRg = Range("A2:A11")
    xRows = xRg.Rows.Count
    If xRegStr <> xPreStr Then
    Me.Item.Clear
   'Me.OtherListBoxName.Clear
    Set xRg = xRg(1)
    For I = 1 To xRows
        If xRg.Offset(I - 1).Value = xRegStr Then
            Me.Item.AddItem xRg.Offset(I - 1, 1).Value
            'Me.OtherListBoxName.AddItem xRg.Offset(I - 1, 2).Value
        End If
    Next
    xPreStr = xRegStr
    End If
    Application.ScreenUpdating = True
End Sub

бележки: В кода Drink и Item са имената на две списъчни кутии, променете ги на вашите собствени имена.

6. Натисни Друг + Q ключове за затваряне на Microsoft Visual Basic за приложения прозорец.

7. Изключете режима на проектиране, като щракнете Софтуерен Инженер > Режим на проектиране.

Отсега нататък, когато избирате какъвто и да е вид напитка, като например Кафе в родителското поле със списък, всички елементи за кафе ще се показват във второто. Изборът на чай или вино ще покаже само елементите чай или вино във второто списъчно поле. Вижте екранна снимка:


Още по темата:

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

🤖 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 (1)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Hi

What does "Me" refer to in the code and how will the code change if I have a MultiSelect list box?

Regards
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations