Съдържание
Досега разглеждахме как да създавате падащи списъци в Excel. Днес ще покажа как да създадете падащ списък с множество селекции в Excel .
Изтегляне на работна тетрадка за практика
Можете да изтеглите работната тетрадка за упражнения от тук.
Създаване на падащ списък с множествена селекция.xlsmСтъпка по стъпка за създаване на падащ списък в Excel с множество избори
Тук имаме набор от данни, който има колона Име на книгата която съдържа някои имена на книги. Нашата цел днес е да създадем падащ списък въз основа на това множество от данни, който да приема множество избори. Ще покажа процедури стъпка по стъпка в раздела по-долу.
СТЪПКА 1: Създаване на падащ списък с помощта на валидиране на данни
За да създадем падащ списък с няколко избора, първо трябва да създадем падащ списък. Нека да преминем през процедурите.
- Първо, изберете клетката, в която искате да създадете падащия списък. Аз избрах Клетка D5 .
- След това отидете в Данни и изберете Утвърждаване на данните от лентата.
- След това от Утвърждаване на данните изберете Списък в Позволете и напишете клетките от обхвата, чиито данни искате да добавите към списъка в Източник: област.
- Можете също така да щракнете върху малката стрелка нагоре в Източник: и изберете диапазона от данни от работния лист.
- Накрая ще видим падащ списък, създаден в Клетка D5 .
Подобни четива:
- Как да направите падащ списък в Excel (независим и зависим)
- Извършване на множествена селекция от падащ списък в Excel (3 начина)
- Как да създадете зависим падащ списък в Excel
- Създаване на падащ списък в няколко колони в Excel (3 начина)
СТЪПКА 2: Активиране на падащия списък за приемане на многократно избиране чрез код VBA
Вече създадохме падащия списък. Сега е време да подготвим падащия списък за многократни избори. Ще използвам 2 VBA кодове, за да активирате списъка да приема многократни селекции. Една от тях ще приеме повторението на данните, а друга няма да приеме повторението на данните.
Случай 1: Код на VBA за многократни избора с повторение
В този раздел ще покажа начина за създаване на падащ списък с множество избори, който ще приема повтарящи се данни.
Нека преминем през процедурите.
- Първо, натиснете ALT + F11 за да отворите VBA прозорец.
- След това изберете Проект Explorer . Също така, двоен - кликнете върху на листа, на който искате да бъде изпълнена задачата.
- Едновременно с това Код ще се отвори прозорец.
- След това напишете следния код в този прозорец.
Private Sub Worksheet_Change(ByVal Target As Range) Dim Oldvalue As String Dim Newvalue As String On Error GoTo Exitsub If Target.Address = "$D$5" Then If Target.SpecialCells(xlCellTypeAllValidation) Is Nothing Then GoTo Exitsub Else: If Target.Value = "" Then GoTo Exitsub Else Application.EnableEvents = False Newvalue = Target.Value Application.Undo Oldvalue = Target.Value If Oldvalue = "" ThenTarget.Value = Newvalue Else Target.Value = Oldvalue & ", " & Newvalue End If End If End If Application.EnableEvents = True Exitsub: Application.EnableEvents = True End Sub
Забележка: В частта с кода ( Ако Target.Address = "$D$5" След това ) вместо препратка към клетка $D$5, запишете препратката към клетката, в която сте създали падащия списък. - Накрая се върнете в работния лист и ще можем да избираме няколко елемента в падащия списък с повторение на един и същ елемент.
Случай 2: VBA код за многократно избиране без повторение
В този раздел ще покажа начина за създаване на падащ списък с множество избори, който няма да изисква повторение на данните.
Нека преминем през процедурите.
- Първо, натиснете ALT + F11 за да отворите VBA прозорец.
- След това изберете Проект Explorer . Също така, двоен - кликнете върху на листа, на който искате да бъде изпълнена задачата.
- Едновременно с това Код ще се появи прозорец.
- След това въведете следния код в този прозорец.
Private Sub Worksheet_Change(ByVal Target As Range) Dim Oldvalue As String Dim Newvalue As String Application.EnableEvents = True On Error GoTo Exitsub If Target.Address = "$D$5" Then If Target.SpecialCells(xlCellTypeAllValidation) Is Nothing Then GoTo Exitsub Else: If Target.Value = "" Then GoTo Exitsub Else Application.EnableEvents = False Newvalue = Target.Value Application.Undo Oldvalue =Target.Value If Oldvalue = "" Then Target.Value = Newvalue Else If InStr(1, Oldvalue, Newvalue) = 0 Then Target.Value = Oldvalue & ", " & Newvalue Else: Target.Value = Oldvalue End If End If End If End If Application.EnableEvents = True Exitsub: Application.EnableEvents = True End Sub
Забележка: В частта с кода ( Ако Target.Address = "$D$5" След това ) вместо препратка към клетка $D$5, запишете препратката към клетката, в която сте създали падащия списък. - Накрая се върнете в работния лист и ще можем да избираме няколко елемента в падащия списък, без да повтаряме един и същ елемент.
Заключение
С помощта на този метод можете да създадете падащ списък в Excel с множество селекции. Имате ли въпроси? Не се колебайте да ни ги зададете в раздела за коментари. Посетете нашия Уебсайт на ExcelWIKI за повече статии относно Excel .