📋 Создание выпадающего списка в ячейке Excel
Выпадающие списки в ячейках Excel помогают ограничить ввод данных и ускорить работу с таблицами. Их можно создать вручную через "Проверку данных", но VBA позволяет сделать это автоматически.
📌 Примеры
1️⃣ Простой выпадающий список для ячейки A1
✅ Что делает этот код?
🔹 Удаляет старые правила (.Delete).
🔹 Создает выпадающий список в ячейке A1 с вариантами: Кофе, Чай, Сок, Молоко, Какао.
2️⃣ Создание выпадающего списка на основе диапазона
✅ Теперь при изменении значений в B1:B5 список обновится автоматически!
3️⃣ Создание динамического выпадающего списка
✅ Динамический список автоматически расширится при добавлении новых значений в колонку B.
4️⃣ Удаление выпадающего списка
#VBA #ExcelVBA #Validation #ВыпадающийСписок
Выпадающие списки в ячейках Excel помогают ограничить ввод данных и ускорить работу с таблицами. Их можно создать вручную через "Проверку данных", но VBA позволяет сделать это автоматически.
📌 Примеры
1️⃣ Простой выпадающий список для ячейки A1
Sub AddDropDownList()
With Range("A1").Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Formula1:="Кофе,Чай,Сок,Молоко,Какао"
End With
End Sub
✅ Что делает этот код?
🔹 Удаляет старые правила (.Delete).
🔹 Создает выпадающий список в ячейке A1 с вариантами: Кофе, Чай, Сок, Молоко, Какао.
2️⃣ Создание выпадающего списка на основе диапазона
Sub DropDownFromRange()
With Range("A1").Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
Operator:=xlBetween, Formula1:="=B1:B5"
End With
End Sub
✅ Теперь при изменении значений в B1:B5 список обновится автоматически!
3️⃣ Создание динамического выпадающего списка
Sub DynamicDropDown()
ActiveWorkbook.Names.Add Name:="Список", RefersTo:="=B1:INDEX(B:B,COUNTA(B:B))"
With Range("A1").Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
Operator:=xlBetween, Formula1:="=Список"
End With
End Sub
✅ Динамический список автоматически расширится при добавлении новых значений в колонку B.
4️⃣ Удаление выпадающего списка
Sub RemoveDropDown()
Range("A1").Validation.Delete
End Sub
#VBA #ExcelVBA #Validation #ВыпадающийСписок
👍4