Под выпадающим списком понимается содержание в одной ячейке нескольких значений. Когда пользователь щелкает по стрелочке справа, появляется определенный перечень. Можно выбрать конкретное.
Очень удобный инструмент Excel для проверки введенных данных. Повысить комфорт работы с данными позволяют возможности выпадающих списков: подстановка данных, отображение данных другого листа или файла, наличие функции поиска и зависимости.
Создание раскрывающегося списка
Путь: меню «Данные» — инструмент «Проверка данных» — вкладка «Параметры». Тип данных – «Список».
Ввести значения, из которых будет складываться выпадающий список, можно разными способами:
- Вручную через «точку-с-запятой» в поле «Источник».
- Ввести значения заранее. А в качестве источника указать диапазон ячеек со списком.
- Назначить имя для диапазона значений и в поле источник вписать это имя.
Любой из вариантов даст такой результат.
Выпадающий список в Excel с подстановкой данных
Необходимо сделать раскрывающийся список со значениями из динамического диапазона. Если вносятся изменения в имеющийся диапазон (добавляются или удаляются данные), они автоматически отражаются в раскрывающемся списке.
- Выделяем диапазон для выпадающего списка. В главном меню находим инструмент «Форматировать как таблицу».
- Откроются стили. Выбираем любой. Для решения нашей задачи дизайн не имеет значения. Наличие заголовка (шапки) важно. В нашем примере это ячейка А1 со словом «Деревья». То есть нужно выбрать стиль таблицы со строкой заголовка. Получаем следующий вид диапазона:
- Ставим курсор в ячейку, где будет находиться выпадающий список. Открываем параметры инструмента «Проверка данных» (выше описан путь). В поле «Источник» прописываем такую функцию:
Протестируем. Вот наша таблица со списком на одном листе:
Добавим в таблицу новое значение «елка».
Теперь удалим значение «береза».
Осуществить задуманное нам помогла «умная таблица», которая легка «расширяется», меняется.
Теперь сделаем так, чтобы можно было вводить новые значения прямо в ячейку с этим списком. И данные автоматически добавлялись в диапазон.
- Сформируем именованный диапазон. Путь: «Формулы» — «Диспетчер имен» — «Создать». Вводим уникальное название диапазона – ОК.
- Создаем раскрывающийся список в любой ячейке. Как это сделать, уже известно. Источник – имя диапазона: =деревья.
- Снимаем галочки на вкладках «Сообщение для ввода», «Сообщение об ошибке». Если этого не сделать, Excel не позволит нам вводить новые значения.
- Вызываем редактор Visual Basic. Для этого щелкаем правой кнопкой мыши по названию листа и переходим по вкладке «Исходный текст». Либо одновременно нажимаем клавиши Alt + F11. Копируем код (только вставьте свои параметры).
- Сохраняем, установив тип файла «с поддержкой макросов».
- Переходим на лист со списком. Вкладка «Разработчик» — «Код» — «Макросы». Сочетание клавиш для быстрого вызова – Alt + F8. Выбираем нужное имя. Нажимаем «Выполнить».
Private Sub Worksheet_Change(ByVal Target As Range) Dim lReply As Long If Target.Cells.Count > 1 Then Exit Sub If Target.Address = "$C$2" Then If IsEmpty(Target) Then Exit Sub If WorksheetFunction.CountIf(Range("Деревья"), Target) = 0 Then lReply = MsgBox("Добавить введенное имя " & _ Target & " в выпадающий список?", vbYesNo + vbQuestion) If lReply = vbYes Then Range("Деревья").Cells(Range("Деревья").Rows.Count + 1, 1) = Target End If End If End If End Sub
Когда мы введем в пустую ячейку выпадающего списка новое наименование, появится сообщение: «Добавить введенное имя баобаб в выпадающий список?».
Нажмем «Да» и добавиться еще одна строка со значением «баобаб».
Выпадающий список в Excel с данными с другого листа/файла
Когда значения для выпадающего списка расположены на другом листе или в другой книге, стандартный способ не работает. Решить задачу можно с помощью функции ДВССЫЛ: она сформирует правильную ссылку на внешний источник информации.
- Делаем активной ячейку, куда хотим поместить раскрывающийся список.
- Открываем параметры проверки данных. В поле «Источник» вводим формулу: =ДВССЫЛ(“[Список1.xlsx]Лист1!$A$1:$A$9”).
Имя файла, из которого берется информация для списка, заключено в квадратные скобки. Этот файл должен быть открыт. Если книга с нужными значениями находится в другой папке, нужно указывать путь полностью.
Как сделать зависимые выпадающие списки
Возьмем три именованных диапазона:
Это обязательное условие. Выше описано, как сделать обычный список именованным диапазоном (с помощью «Диспетчера имен»). Помним, что имя не может содержать пробелов и знаков препинания.
- Создадим первый выпадающий список, куда войдут названия диапазонов.
- Когда поставили курсор в поле «Источник», переходим на лист и выделяем попеременно нужные ячейки.
- Теперь создадим второй раскрывающийся список. В нем должны отражаться те слова, которые соответствуют выбранному в первом списке названию. Если «Деревья», то «граб», «дуб» и т.д. Вводим в поле «Источник» функцию вида =ДВССЫЛ(E3). E3 – ячейка с именем первого диапазона.
- Создаем стандартный список с помощью инструмента «Проверка данных». Добавляем в исходный код листа готовый макрос. Как это делать, описано выше. С его помощью справа от выпадающего списка будут добавляться выбранные значения.
- Чтобы выбранные значения показывались снизу, вставляем другой код обработчика.
- Чтобы выбираемые значения отображались в одной ячейке, разделенные любым знаком препинания, применим такой модуль.
- На вкладке «Разработчик» находим инструмент «Вставить» – «ActiveX». Здесь нам нужна кнопка «Поле со списком» (ориентируемся на всплывающие подсказки).
- Щелкаем по значку – становится активным «Режим конструктора». Рисуем курсором (он становится «крестиком») небольшой прямоугольник – место будущего списка.
- Жмем «Свойства» – открывается перечень настроек.
- Вписываем диапазон в строку ListFillRange (руками). Ячейку, куда будет выводиться выбранное значение – в строку LinkedCell. Для изменения шрифта и размера – Font.
Выбор нескольких значений из выпадающего списка Excel
Бывает, когда из раскрывающегося списка необходимо выбрать сразу несколько элементов. Рассмотрим пути реализации задачи.
Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next If Not Intersect(Target, Range("Е2:Е9")) Is Nothing And Target.Cells.Count = 1 Then Application.EnableEvents = False If Len(Target.Offset(0, 1)) = 0 Then Target.Offset(0, 1) = Target Else Target.End(xlToRight).Offset(0, 1) = Target End If Target.ClearContents Application.EnableEvents = True End If End Sub
Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next If Not Intersect(Target, Range("Н2:К2")) Is Nothing And Target.Cells.Count = 1 Then Application.EnableEvents = False If Len(Target.Offset(1, 0)) = 0 Then Target.Offset(1, 0) = Target Else Target.End(xlDown).Offset(1, 0) = Target End If Target.ClearContents Application.EnableEvents = True End If End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Not Intersect(Target, Range("C2:C5")) Is Nothing And Target.Cells.Count = 1 Then
Application.EnableEvents = False
newVal = Target
Application.Undo
oldval = Target
If Len(oldval) <> 0 And oldval <> newVal Then
Target = Target & "," & newVal
Else
Target = newVal
End If
If Len(newVal) = 0 Then Target.ClearContents
Application.EnableEvents = True
End If
End Sub
Не забываем менять диапазоны на «свои». Списки создаем классическим способом. А всю остальную работу будут делать макросы.
Выпадающий список с поиском
Скачать пример выпадающего списка
При вводе первых букв с клавиатуры высвечиваются подходящие элементы. И это далеко не все приятные моменты данного инструмента. Здесь можно настраивать визуальное представление информации, указывать в качестве источника сразу два столбца.
Выпадающий список с мультивыбором
Классический выпадающий список на листе Excel — отличная штука, но позволяет выбрать только один вариант из представленного набора. Иногда именно это и нужно, но бывают ситуации, когда пользователь должен иметь возможность выбрать несколько элементов из списка.
Давайте рассмотрим несколько типовых вариантов реализации такого списка с мультивыбором.
Вариант 1. Горизонтальный
Пользователь выбирает из выпадающего списка элементы один за другим, и они появляются справа от изменяемой ячейки, автоматически составляясь в список по горизонтали:
Выпадающие списки в ячейках С2:С5 в данном примере создаются стандартным образом, т.е.
- выделить ячейки С2:С5
- на вкладке или в меню Данные (Data) выбрать команду Проверка данных (Data Validation)
- в открывшемся окне выбрать вариант Список (List) и указать в качестве диапазона Источник (Source) ячейки с исходными данными для списка A1:A8
Затем в модуль листа нужно добавить макрос, который и будет делать всю основную работу, т.е. добавлять выбранные значения справа от зеленых ячеек. Для этого щелкните правой кнопкой мыши по ярлычку листа с выпадающими списками и выберите команду Исходный текст (Source code). В открывшееся окно редактора Visual Basic нужно вставить следующий код:
Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next If Not Intersect(Target, Range("C2:C5")) Is Nothing And Target.Cells.Count = 1 Then Application.EnableEvents = False If Len(Target.Offset(0, 1)) = 0 Then Target.Offset(0, 1) = Target Else Target.End(xlToRight).Offset(0, 1) = Target End If Target.ClearContents Application.EnableEvents = True End If End Sub
При необходимости, замените во второй строке этого кода чувствительный диапазон выпадающих списков С2:С5 на свой.
Вариант 2. Вертикальный
То же самое, что и в предыдущем варианте, но новые выбранные значения добавляются не справа, а снизу:
Делается совершенно аналогично, но немного меняется код макроса обработчика:
Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next If Not Intersect(Target, Range("C2:F2")) Is Nothing And Target.Cells.Count = 1 Then Application.EnableEvents = False If Len(Target.Offset(1, 0)) = 0 Then Target.Offset(1, 0) = Target Else Target.End(xlDown).Offset(1, 0) = Target End If Target.ClearContents Application.EnableEvents = True End If End Sub
Опять же, при необходимости, замените во второй строке этого кода чувствительный диапазон выпадающих списков С2:F2 на свой.
Вариант 3. С накоплением в той же ячейке
В этом варианте накопление происходит в той же ячейке, где расположен выпадающий список. Выбранные элементы разделяются любым заданным символом (например, запятой):
Выпадающие списки в зеленых ячейках создаются совершенно стандартно, как и в предыдущих способах. Всю работу делает, опять же, макрос в модуле листа:
Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next If Not Intersect(Target, Range("C2:C5")) Is Nothing And Target.Cells.Count = 1 Then Application.EnableEvents = False newVal = Target Application.Undo oldval = Target If Len(oldval) <> 0 And oldval <> newVal Then Target = Target & "," & newVal Else Target = newVal End If If Len(newVal) = 0 Then Target.ClearContents Application.EnableEvents = True End If End Sub
При желании, можно заменить символ-разделитель (запятую) в 9-й строке кода на свой (например, пробел или точку с запятой).
Ссылки по теме
- Как создать простой выпадающий список в ячейке листа Excel
- Выпадающий список с наполнением
- Выпадающий список с добавлением недостающих вариантов
- Что такое макросы, как их использовать, куда вставлять код макросов на Visual Basic
Ранее в публикациях рассказывалось о том, как создается выпадающий список в ячейках для упрощения внесения данных.
Ссылка на описания метода создания связанного выпадающего списка ниже:
Как сделать связанный выпадающий список в «Эксель», зависящий от значения в соседней ячейке.
В данной публикации описана процедура создания выпадающих списков, которые записывают в ячейки по нескольку значений.
Для начала следует создать обыкновенный выпадающий список.
Для этого необходимо:
- Войти во вкладку «Данные»;
- Выбрать опцию «Проверка данных»;
- Выбрать «Список»;
- Указать диапазон, из которого будет выбираться выпадающий список или создать список прямо в появившемся поле через знак «;».
После этой процедуры следует записать макрос в документ.
Для записи макроса следует:
- Открыть вкладку «Разработчик» ( Если вкладка отключена, включите ее в разделе Файл=> Параметры=> Настройка Ленты);
- Во вкладке «Разработчик» выбрать кнопку «Просмотр кода»;
- В открывшееся окно записать макрос;
- Закрыть окно с макросом.
Давайте рассмотрим несколько макросов с выпадающими списками.
Первый макрос со смещением списка в сторону (горизонтально).
Текст макроса:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Not Intersect(Target, Range(«B2:B10»)) Is Nothing And Target.Cells.Count = 1 Then
Application.EnableEvents = False
If Len(Target.Offset(0, 1)) = 0 Then
Target.Offset(0, 1) = Target
Else
Target.End(xlToRight).Offset(0, 1) = Target
End If
Target.ClearContents
Application.EnableEvents = True
End If
End Sub
Необходимо обратить внимание, что в строке :
If Not Intersect(Target, Range(«B1:B10»)) Is Nothing And Target.Cells.Count = 1 Then
Значения («B1:B10»)— это диапазон в пределах которого будет работать выпадающий список.
Аналогичным образом можно создать выпадающий список со смещением вниз и выпадающий список, записывающий в ячейку несколько значений через знак табуляции или пробел.
Макрос выпадающего списка со смещением вниз:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Not Intersect(Target, Range(«C2:F2»)) Is Nothing And Target.Cells.Count = 1 Then
Application.EnableEvents = False
If Len(Target.Offset(1, 0)) = 0 Then
Target.Offset(1, 0) = Target
Else
Target.End(xlDown).Offset(1, 0) = Target
End If
Target.ClearContents
Application.EnableEvents = True
End If
End Sub
Макрос выпадающего списка с внесением нескольких значений в одну ячейку:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Not Intersect(Target, Range(«B2:B5»)) Is Nothing And Target.Cells.Count = 1 Then
Application.EnableEvents = False
newVal = Target
Application.Undo
oldval = Target
If Len(oldval) <> 0 And oldval <> newVal Then
Target = Target & «//» & newVal
Else
Target = newVal
End If
If Len(newVal) = 0 Then Target.ClearContents
Application.EnableEvents = True
End If
End Sub
В строке If Not Intersect(Target, Range(«B2:B5»)) Is Nothing And Target.Cells.Count = 1 Then
указывается диапазон действия макроса.
В строке
Target = Target & «//» & newVal
указывается разделитель «//». Его можно заменить на любой знак препинания, текст или поставить пробел.
Microsoft Excel: выпадающие списки
Смотрите также Next то подправьте эти и вниз до значений на листСписокПри использовании этого способа, диапазона:Важный нюанс. В качестве выбранное значение – исходный код листа lReply = MsgBox(«Добавить
указать диапазон ячеек соответствующий базе данных
Создание дополнительного списка
же книге, можно же свойства, как а затем кликаемПри работе в программеIf poisk Like параметры в макросе
конца — до (это так же» и указываем диапазон также возможно указыватьЭтот способ частично напоминает источника данных для в строку LinkedCell. готовый макрос. Как введенное имя « со списком. с городами. Если на другом листе. и в предыдущий по надписи «Параметры». Microsoft Excel в
«*» & TextBox1.Value на свои. последнего имени. позволит работать со списка в качестве предыдущий. Основное отличие
списка может выступать Для изменения шрифта это делать, описано & _ TargetНазначить имя для диапазона пользователь выберетМы будем использовать именованные раз, выделяем верхниеВ открывшемся окне переходим таблицах с повторяющимися & «*» ThenВсё! Теперь при попытке
Выделяем ячейку D2 и списком на любом3.ListFillRange в том, что и динамический именованный и размера – выше. С его
& » в значений и вPortugal диапазоны и сделаем ячейки, и при в подраздел «Настройка данными, очень удобноListBox1.AddItem sh.Name & ввести новое имяв Excel 2007 и листе). Делается этоЕсли есть желание
не только одномерные на лист добавляется диапазон, например прайс-лист. Font. помощью справа от выпадающий список?», vbYesNo поле источник вписать, то мы должны так, чтобы эти
Создание выпадающего списка с помощью инструментов разработчика
нажатой клавише мышки ленты», и ставим использовать выпадающий список. «!» & poisk.Address в ячейку D2 новее — жмем так: подсказать пользователю о диапазоны. Можно, например не элемент управления, Тогда при дописыванииСкачать пример выпадающего списка выпадающего списка будут + vbQuestion) If
это имя. обратиться к базе связанные выпадающие списки «протаскиваем» вниз. флажок напротив значения С его помощью
ListBox1.List(j, 1) = Excel будет спрашивать на вкладкеТо есть вручную, его действиях, то задать диапазон из а элемент ActiveX новых товаров кПри вводе первых букв добавляться выбранные значения.Private lReply = vbYesЛюбой из вариантов даст с индексом работали во всех
Всё, таблица создана. «Разработчик». Жмем на можно просто выбирать poisk… и при утвердительном
Данные (Data) через переходим во вкладку двух столбцов и
»Поле со списком» прайсу, они будут с клавиатуры высвечиваются Sub Worksheet_Change(ByVal Target Then Range(«Деревья»).Cells(Range(«Деревья»).Rows.Count + такой результат.3
версиях Excel. СледующийМы разобрались, как сделать кнопку «OK». нужные параметры изj = j + 1
ответе пользователя автоматическикнопку
; « нескольких строк, указавиз раскрывающегося набора автоматически добавляться к подходящие элементы. И As Range) On
Связанные списки
1, 1) =, в которой хранятся шаг – создать выпадающий список вПосле этого, на ленте сформированного меню. ДавайтеEnd If добавлять новое имяПроверка данных (Data Validation)(точка с запятой) вводимСообщение для ввода дополнительно, что выводить под кнопкой выпадающему списку. Еще это далеко не Error Resume Next
Target End IfНеобходимо сделать раскрывающийся список названия городов Португалии. именованные диапазоны для Экселе. В программе появляется вкладка с
выясним, как сделатьNext к списку вв Excel 2003 и список в поле
» и заполняем заголовок нужно два столбцаВставить (Insert) одним часто используемым все приятные моменты
If Not Intersect(Target, End If End со значениями из Мы воспользуемся функцией наших списков. На можно создавать, как названием «Разработчик», куда
раскрывающийся список различными
Next столбце А и старше — выбираем « и текст сообщения (свойствос вкладки трюком для таких
данного инструмента. Здесь
Range(«Е2:Е9»)) Is Nothing If End Sub динамического диапазона. ЕслиВПР вкладке простые выпадающие списки, мы и перемещаемся. способами.End Sub в выпадающий список в менюИсточниккоторое будет появляться
ColumnCount
lumpics.ru
Создаем связанные выпадающие списки в Excel – самый простой способ!
Разработчик (Developer) списков является создание можно настраивать визуальное And Target.Cells.Count =Сохраняем, установив тип файла вносятся изменения в(VLOOKUP) для поискаFormulas так и зависимые. Чертим в MicrosoftСкачать последнюю версиюОформляйте коды макросов в ячейку D2.Данные — Проверка (Data», в том порядке при выборе ячейки=2). Тогда можно получить: связанных выпадающих списков
представление информации, указывать 1 Then Application.EnableEvents «с поддержкой макросов». имеющийся диапазон (добавляются значения из ячейки(Формулы) есть команда При этом, можно Excel список, который Excel спецтегами — кнопкаSendex — Validation) в котором мы с выпадающим списком весьма привлекательные результаты,
Механизм добавления тот же (когда содержимое одного в качестве источника = False IfПереходим на лист со или удаляются данные),B1Name Manager использовать различные методы должен стать выпадающимСамым удобным, и одновременно # (поправил за: Всем привет!. хотим его видеть4. окупающие все потраченные — выбираем объект списка меняется в сразу два столбца. Len(Target.Offset(0, 1)) = списком. Вкладка «Разработчик» они автоматически отражаютсяв таблице с(Диспетчер имён). Нажав создания. Выбор зависит меню. Затем, кликаем наиболее функциональным способом Вас). И ПравилаИскал что-то подобное
Далее выбираем из выпадающего (значения введённые слева-направоТак же необязательно на дополнительные настройки из списка и зависимости от выбораУ кого мало времени 0 Then Target.Offset(0, — «Код» - в раскрывающемся списке. названиями стран. После на нее, откроется от конкретного предназначения
на Ленте на создания выпадающего списка, форума почитайте. обсуждавшееся, но не списка будут отображаться в можно создать и усилия: рисуем его на в другом). и нужно быстро 1) = Target «Макросы». Сочетание клавишВыделяем диапазон для выпадающего того как индекс диалоговое окно списка, целей его значок «Вставить», и
является метод, основанныйSLAVICK нашел.Тип данных (Allow) ячейке сверху вниз). сообщение, которое будетСпособ 1.
листе. А вотЭтот способ представляет собой ухватить суть - Else Target.End(xlToRight).Offset(0, 1) для быстрого вызова списка. В главном будет известен, мыName Manager создания, области применения, среди появившихся элементов на построении отдельного
: Попробуйте так:
В чем суть.позициюПри всех своих появляться при попытке
Примитивный дальше начинаются серьезные вставку на лист
смотрим обучающее видео: = Target End – Alt + меню находим инструмент выберем список, который(Диспетчер имён). и т.д. в группе «Элемент списка данных.200?’200px’:»+(this.scrollHeight+5)+’px’);»>Private Sub TextBox1_Change() Допустим есть список:Список (List) плюсах выпадающий список, ввести неправильные данныеСпособ 2. отличия от предыдущего нового объекта -
Кому интересны подробности и If Target.ClearContents Application.EnableEvents F8. Выбираем нужное
«Форматировать как таблицу». станет источником данныхНажмите кнопкуАвтор: Максим Тютюшев ActiveX» выбираем «ПолеПрежде всего, делаем таблицу-заготовку,Dim j Asполотенце зеленоеи вводим в созданный вышеописанным образом,Если Вы неСтандартный способа. элемента управления «поле нюансы всех описанных = True End имя. Нажимаем «Выполнить».Откроются стили. Выбираем любой. для нашего второгоNewПРЕДСТАВЬТЕ СИТУАЦИЮ: со списком». где собираемся использовать Long, i Asполено дубовое строку имеет один, но сделаете пункты 3Способ 3.Во-первых, созданный выпадающий ActiveX со списком» с способов — дальше If End SubКогда мы введем в Для решения нашей выпадающего списка. Для(Создать), чтобы добавитьМы хотим создатьКликаем по месту, где выпадающее меню, а Long, poisk Asтелефон новыйИсточник (Source) очень «жирный» минус: и 4, тоЭлемент управления список может находится последующей привязкой его по тексту.Чтобы выбранные значения показывались пустую ячейку выпадающего задачи дизайн не этого напишем такую новый именованный диапазон. в Excel небольшую
должна быть ячейка
также делаем отдельным
Range, iAdr$, LT%,переполох в душессылку на созданный проверка данных работаетпроверка данныхСпособ 4. в двух принципиально к диапазонам наОдин щелчок правой кнопкой снизу, вставляем другой списка новое наименование, имеет значения. Наличие
формулу: Откроется диалоговое окно табличку, где можно
со списком. Как списком данные, которые sh As WorksheetВ ячейке начинаем на шаге 1 только при непосредственномработать будет, ноЭлемент ActiveX разных состояниях - листе. Для этого:
мыши по пустой код обработчика.Private Sub появится сообщение: «Добавить заголовка (шапки) важно.=CHOOSE(VLOOKUP(B1,Sheet3!$A$3:$B$5,2,FALSE),England,France,Portugal)New Name выбрать страну и видите, форма списка в будущем включим
ListBox1.Clear писать «пол» и
именованный диапазон (
вводе значений с
при активации ячейки
office-guru.ru
Выпадающий список в Excel с помощью инструментов или макросов
Сложность режиме отладки, когдаВ Excel 2007/2010 откройте ячейке под столбцом Worksheet_Change(ByVal Target As введенное имя баобаб В нашем примере
=ВЫБОР(ВПР(B1;Sheet3!$A$3:$B$5;2;ЛОЖЬ);England;France;Portugal)(Создание имени). соответствующий ей город. появилась. в это меню.LT = Len(TextBox1.Value) тут же выпадаетне забудьте перед именем клавиатуры. Если Вы не будет появляться
Создание раскрывающегося списка
низкая можно настраивать его вкладку с данными, команда Range) On Error
в выпадающий список?». это ячейка А1Что же делает этаВ поле
- При этом сЗатем мы перемещаемся в
- Эти данные можноIf LT = список со строками, диапазона поставить знак
- попытаетесь вставить в сообщение пользователю осредняя параметры и свойства,
Разработчик (Developer) контекстного меню
Resume Next If
Выпадающий список в Excel с подстановкой данных
Нажмем «Да» и добавиться со словом «Деревья». формула? Она ищетName помощью выпадающих списков, «Режим конструктора». Жмем размещать как на 0 Then Exit
- в которых содержится равенства! ячейку с его предполагаемых действиях,
- высокая двигать его по. В более раннихВыбрать из раскрывающегося списка Not Intersect(Target, Range(«Н2:К2»)) еще одна строка То есть нужно значение из ячейки(Имя) введите имя необходимо ограничить доступные на кнопку «Свойства этом же листе Sub
- эта комбинация:):проверкой данных а вместо сообщенияВозможность настройки шрифта, цвета листу и менять версиях — панель(Choose from drop-down list)
Is Nothing And со значением «баобаб». выбрать стиль таблицы
B1Country
пользователям варианты стран
элемента управления». документа, так иj = 0
ПОЛотенце зеленоеЧтобы Excel позволил намзначения из буфера об ошибке с и т.д. размеры и - инструментов
- или нажать сочетание Target.Cells.Count = 1Когда значения для выпадающего со строкой заголовка.в списке стран
- для нашего первого и городов, изОткрывается окно свойств элемента на другом, еслиiAdr = Sheets(1).UsedRange.Address
- ПОЛено дубовое в будущем ввести обмена, т.е скопированные вашим текстом будетнет режиме ввода, когдаФормы (Forms)
- клавиш Then Application.EnableEvents = списка расположены на Получаем следующий вид и возвращает соответствующий именованного диапазона, а которых они могут управления. В графе вы не хотите,iAdr = Mid(iAdr,переПОЛох в душе в список и предварительно любым способом, появляться стандартное сообщение.нет единственное, что можночерез менюALT+стрелка вниз False If Len(Target.Offset(1, другом листе или диапазона: индекс, который затем в поле выбирать. В первой «ListFillRange» вручную через чтобы обе таблице InStr(iAdr, «:») +Дописываем дальше, «поле» новые имена, снимем то Вам это5.да — выбирать из
- Вид — Панели инструментов. Способ не работает,
- 0)) = 0 в другой книге,Ставим курсор в ячейку, использует функцияRefers to ячейке мы сделаем двоеточие прописываем диапазон располагались визуально вместе.
1) — остается для галочки на вкладках удастся. Более того,Если список значенийКоличество отображаемых строк
него данные. Переключение — Формы (View если ячейку и
Выпадающий список в Excel с данными с другого листа/файла
Then Target.Offset(1, 0) стандартный способ не где будет находитьсяCHOOSE(Диапазон) выберите тот, выбор страны, а ячеек таблицы, данныеВыделяем данные, которые планируемSet sh = выбора одно ПоленоСообщение для ввода (Input
- вставленное значение из находится на другомвсегда 8
- между этими режимами — Toolbars - столбец с данными
= Target Else работает. Решить задачу выпадающий список. Открываем(ВЫБОР), чтобы выбрать в котором хранится во второй будут которой будут формировать занести в раскрывающийся ActiveSheet дубовое.
Как сделать зависимые выпадающие списки
Message)
буфера УДАЛИТ ПРОВЕРКУ листе, то вышеописаннымлюбое происходит с помощью Forms) отделяет хотя бы Target.End(xlDown).Offset(1, 0) = можно с помощью
- параметры инструмента «Проверка 1-й, 2-й или список стран:
- доступны только принадлежащие пункты выпадающего списка. список. Кликаем правойFor Each poiskПодскажите варианты плз.
- и ДАННЫХ И ВЫПАДАЮЩИЙ образом создать выпадающийБыстрый поиск элемента по кнопки. Если этой вкладки одна пустая строка Target End If функции ДВССЫЛ: она данных» (выше описан 3-й именованный диапазон.=Sheet3!$A$3:$A$5 выбранной стране города.
Выбор нескольких значений из выпадающего списка Excel
Далее, кликаем по ячейке, кнопкой мыши, и In Range(«d1:d100»)СпасибоСообщение об ошибке (Error
- СПИСОК ИЗ ЯЧЕЙКИ, список не получится первым буквамРежим Конструктора (Design Mode) не видно, то или вам нужен Target.ClearContents Application.EnableEvents = сформирует правильную ссылку путь). В полеВот так будет выглядетьНажмите Думаю, это понятно? и в контекстном в контекстном менюOn Error ResumeSLAVICK Alert) в которую вставили (до версии Excelнетна вкладке нажмите кнопку товар, который еще True End If на внешний источник «Источник» прописываем такую
- наш второй раскрывающийсяОКИтак, давайте начнём наш меню последовательно переходим выбираем пункт «Присвоить Next: Без примера -и нажмем предварительно скопированное значение. 2010). Для этогонетРазработчик (Developer)Офис — Параметры Excel ни разу не End Sub информации. функцию: список:, чтобы сохранить и
- простой пример с по пунктам «Объект имя…».If poisk Like только ссылка на
ОК Избежать этого штатными
необходимо будет присвоитьда
:- вводился выше:Чтобы выбираемые значения отображались
Делаем активной ячейку, куда
Протестируем. Вот наша таблица
В результате мы получим
закрыть диалоговое окно.
того, как можно ComboBox» и «Edit».Открывается форма создания имени.
"*" & TextBox1.Value похожую тему. Теперь у нас
средствами Excel нельзя.
имя списку. Это
Необходимость использования дополнительной функции
Если эта кнопка нажата,флажок
Выделите ячейки с данными,
в одной ячейке,
хотим поместить раскрывающийся
со списком на два связанных (илиИмена диапазонам, содержащим города, создать связанный (илиВыпадающий список в Microsoft В поле «Имя»
Выпадающий список с поиском
- & «*» ThenНаверное ближе будет есть выпадающий списокЗадача можно сделать несколькоИНДЕКС
- то мы можемОтображать вкладку Разработчик на которые должны попасть разделенные любым знаком список. одном листе:
- зависимых) выпадающих списка. можно присвоить точно
- зависимый) выпадающий список Excel готов. вписываем любое удобноеListBox1.AddItem sh.Name & Эта тема - в ячейке D2.: сделать в ячейке способами.
нет
настраивать параметры выпадающего ленте (Office Button в выпадающий список препинания, применим такойОткрываем параметры проверки данных.Добавим в таблицу новое Если мы выбираем таким же образом. в Excel? ВЧтобы сделать и другие
exceltable.com
Выпадающий список в ячейке листа
Видео
наименование, по которому «!» & poisk.Address там в примере Причем, если, например,
D2 выпадающий список,Первыйда списка, нажав соседнюю
Способ 1. Примитивный
— Excel Options (например, наименованиями товаров). модуль. В поле «Источник» значение «елка». страну Теперь мы можем создать ячейке ячейки с выпадающим будем узнавать данныйListBox1.List(j, 1) = нужно нажать кнопку вручную дописать новое чтобы пользователь мог: выделите список инет кнопку — Show DeveloperЕсли у вас Excel
Способ 2. Стандартный
- Private Sub Worksheet_Change(ByVal вводим формулу: =ДВССЫЛ(“[Список1.xlsx]Лист1!$A$1:$A$9”).Теперь удалим значение «береза».France
- выпадающие списки вB1 списком, просто становимся список. Но, это poisk найти. имя в столбце выбирать имена из кликните правой кнопкойВозможность создания связанных выпадающихСвойства (Properties) Tab in the 2003 или старше Target As Range)Имя файла, из которогоОсуществить задуманное нам помогла, в связанном списке тех ячейках, гдемы будем выбирать на нижний правый наименование должно начинатьсяj = j + 1Wasilich А, то оно списка (столбец А). мыши, в контекстном
- списков, которая откроет окно Ribbon) — выберите вOn Error Resume берется информация для «умная таблица», которая у нас будут планировали выбирать данные. страну, а в край готовой ячейки, обязательно с буквы.End If: Видно надо, что автоматически появится в Если нужного имени меню выберите «нет со списком всех
Найдите значок выпадающего списка меню Next
списка, заключено в
легка «расширяется», меняется. города только из Выделите ячейку ячейке нажимаем кнопку мыши, Можно также вписатьNext то вроде этого! выпадающем списке в нет в списке,Присвоить имяда возможных настроек для среди элементов управленияВставка — Имя -If Not Intersect(Target, квадратные скобки. ЭтотТеперь сделаем так, чтобы
Способ 3. Элемент управления
Франции.B1B2 и протягиваем вниз. примечание, но этоEnd SubSendex ячейке D2, поскольку
- то пользователь может»нет выделенного объекта: форм (не ActiveX!). Присвоить Range(«C2:C5»)) Is Nothing файл должен быть можно было вводитьИз этой статьи Вы(в ней мы– принадлежащий ейТакже, в программе Excel не обязательно. Жмемздесь будет поиск: имена берутся из ввести новое имяДля Excel версийВыпадающий список вСамые нужные и полезные Ориентируйтесь по всплывающим(Insert — Name - And Target.Cells.Count =
- открыт. Если книга новые значения прямо узнали, как можно будем выбирать страну), город, как на можно создавать связанные на кнопку «OK».
в диапазоне Range(«d1:d100»).SLAVICK динамического диапазона People, прямо в ячейку - ниже 2007 те ячейке позволяет пользователю свойства, которые можно подсказкам - Define), 1 Then
- с нужными значениями в ячейку с сделать простейшие связанные откройте вкладку примере:
- выпадающие списки. ЭтоПереходим во вкладку «Данные»Лучше указывать не, спасибо! Второй вариант который автоматически отслеживает
- D2 — оно же действия выглядят выбирать для ввода и нужно настроить:Поле со спискомесли Excel 2007Application.EnableEvents = False находится в другой
этим списком. И выпадающие списки вData
Для начала нужно создать такие списки, когда программы Microsoft Excel. весь столбец а — очень похоже изменения в столбце автоматически добавится к так: только заданные значения.
Способ 4. Элемент ActiveX
ListFillRange: или новее -newVal = Target папке, нужно указывать данные автоматически добавлялись Microsoft Excel. Вы(Данные), нажмите базу данных. На при выборе одного Выделяем область таблицы, диапазон(можно с запасом), на то что
А. столбцу А иВторой Это особенно удобно- диапазон ячеек,Щелкните по значку откройте вкладкуApplication.Undo
путь полностью. в диапазон. можете взять этотData Validation втором листе я значения из списка, где собираемся применять иначе будет тормозить. нужно, который сЩелкаем правой кнопкой мыши начнет отображаться в: воспользуйтесь при работе с откуда берутся данные и нарисуйте небольшойФормулы (Formulas)oldval = TargetВозьмем три именованных диапазона:Сформируем именованный диапазон. Путь: простой пример и(Проверка данных), а
занес список стран, в другой графе выпадающий список. ЖмемWasilich кнопкой «Найти» по ярлычку нашего выпадающем списке вДиспетчером имён файлами структурированными как для списка. Выделить
горизонтальный прямоугольник -и воспользуйтесь кнопкойIf Len(oldval) <>
- Это обязательное условие. Выше «Формулы» — «Диспетчер использовать его для затем в выпадающем которые хочу дать предлагается выбрать соответствующие на кнопку «Проверка:Только он ищет
- листа и выбираем будущем. Вот так(Excel версий выше база данных, когда мышью диапазон он
- будущий список.Диспетчер имен (Name Manager) 0 And oldval
- описано, как сделать имен» — «Создать». решения реальных задач. меню выберите пользователям на выбор
- ему параметры. Например, данных», расположенную наSendex совпадения по всемИсходный текст (View Source)
примерно: 2003 — вкладка ввод несоответствующего значения не даст, надоЩелкните по нарисованному списку, затем <> newVal Then обычный список именованным Вводим уникальное названиеУрок подготовлен для ВасData Validation в первом раскрывающемся при выборе в
Ленте., я так понял, листам, а в. Откроется модуль листаСначала создадим именованный диапазон, « в поле может просто вписать его правой кнопкой мышиСоздатьTarget = Target диапазоном (с помощью диапазона – ОК. командой сайта office-guru.ru(Проверка данных). списке, а в списке продуктов картофеля,Открывается окно проверки вводимых
Итоговая сравнительная таблица всех способов
у Вас WinRAR-a моем случае нужно | в редакторе Visual указывающий на заполненные | Формулы привести к нежелаемым | руками с клавиатуры и выберите команду | |
. Введите имя (можно | & «,» & | «Диспетчера имен»). Помним, | Создаем раскрывающийся список в | |
Источник: http://www.excel-user.com/2011/02/cascading-validation-lists.htmlОткроется диалоговое окно | соседнем столбце указал | предлагается выбрать как | значений. Во вкладке | |
нет? Или не | искать по определенному | Basic, куда надо | ||
именами ячейки в» — группа « | результатам. | (например, Лист2!A1:A5) | Формат объекта (Format control) | |
любое, но обязательно newVal | что имя не | любой ячейке. Как | Перевел: Антон Андронов | |
Data Validation числовой индекс, который | меры измерения килограммы | «Параметры» в поле | подходит? Считаю, отзываться |
planetaexcel.ru
Создание выпадающего списка в ячейке
столбцу. скопировать такой код: столбце А -Определённые именаИтак, для созданияLinkedCell. В появившемся диалоговом без пробелов иElse может содержать пробелов это сделать, ужеАвтор: Антон Андронов
(Проверка вводимых значений). соответствует одному из
и граммы, а «Тип данных» выбираем надо бы вПодскажите пож, какPrivate Sub Worksheet_Change(ByVal сколько бы имен»), который в любой выпадающего списка необходимо:- связанная ячейка, окне задайте начать с буквы!)Target = newVal и знаков препинания. известно. Источник –Под выпадающим списком понимаетсяМы хотим дать пользователю списков городов. Списки при выборе масла параметр «Список». В любом случае. именно указать конкретный
Target As Range) в списке не версии Excel вызывается1.
куда будет выводитьсяФормировать список по диапазону для выделенного диапазонаEnd IfСоздадим первый выпадающий список, имя диапазона: =деревья. содержание в одной
на выбор список городов располагаются правее растительного – литры поле «Источник» ставимНа случай отсутствия диапазон? Dim lReply As находилось. Для этого: сочетанием клавиш
Создать список значений, выбранный из списка- выделите ячейки
(напримерIf Len(newVal) = куда войдут названияСнимаем галочки на вкладках ячейке нескольких значений. вариантов, поэтому в
в столбцах и миллилитры. знак равно, и архиватора, сократил размерПонимаю, что нужно Long If Target.Cells.Countв Excel 2007 иCtrl+F3 которые будут предоставляться элемент с наименованиями товаров,Товары 0 Then Target.ClearContents
диапазонов. «Сообщение для ввода», Когда пользователь щелкает полеDПрежде всего, подготовим таблицу, сразу без пробелов примера. заменить For Each > 1 Then новее — жмем. на выбор пользователюListRows которые должны попасть). НажмитеApplication.EnableEvents = TrueКогда поставили курсор в «Сообщение об ошибке».
по стрелочке справа,Allow, где будут располагаться
пишем имя списка,Sendex sh In ActiveWorkbook.Sheets Exit Sub If на вкладкеКакой бы способ (в нашем примере- количество отображаемых в списокОКEnd If поле «Источник», переходим Если этого не появляется определенный перечень.
(Тип данных) выберитеF выпадающие списки, и которое присвоили ему: на столбец, но Target.Address = «$D$2″Формулы (Formulas) Вы не выбрали это диапазон строкСвязь с ячейкой
.End Sub на лист и сделать, Excel не Можно выбрать конкретное.
Listи
отдельно сделаем списки выше. Жмем наWasilic все криво выходит. Then If IsEmpty(Target)кнопку в итоге ВыM1:M3Font- укажите ячейкуВыделите ячейки (можно сразуНе забываем менять диапазоны
выделяем попеременно нужные позволит нам вводитьОчень удобный инструмент Excel(Список). Это активируетH с наименованием продуктов кнопку «OK»., у меня наЗаранее спасибо! Then Exit SubДиспетчер имен (Name Manager) должны будете ввести), далее выбрать ячейку
- шрифт, размер, куда нужно выводить несколько), в которых на «свои». Списки ячейки. новые значения. для проверки введенных поле. Так, например, рядом и мер измерения.Выпадающий список готов. Теперь, Ваш первый файл200?’200px’:»+(this.scrollHeight+5)+’px’);»>Private Sub TextBox1_Change() If WorksheetFunction.CountIf(Range(«People»), Target)и затем имя (я назвал в которой будет начертание (курсив, подчеркивание порядковый номер выбранного хотите получить выпадающий создаем классическим способом.Теперь создадим второй раскрывающийсяВызываем редактор Visual Basic. данных. Повысить комфортSource
excelworld.ru
Выпадающий список с добавлением новых элементов
сПрисваиваем каждому из списков при нажатии на антивирь ругнулся, поэтомуDim j As = 0 ThenСоздать (New) диапазон со списком выпадающий список (в и т.д. кроме пользователем элемента. список и выберите А всю остальную список. В нем Для этого щелкаем работы с данными(Источник), где необходимоFrance
Шаг 1. Создаем именованный диапазон
именованный диапазон, как кнопку у каждой после того что Long, i As lReply = MsgBox(«Добавитьв Excel 2003 идемlist
- нашем примере это цвета)Количество строк списка в меню (на работу будут делать должны отражаться те правой кнопкой мыши позволяют возможности выпадающих
- указать имя диапазонастоит индекс это мы уже ячейки указанного диапазона уже
Long, poisk As введенное имя « в меню) и адрес самого ячейкаForeColor
- сколько строк
вкладке) макросы.
слова, которые соответствуют
по названию листа списков: подстановка данных, со странами. Введите2 делали ранее с будет появляться списокSLAVICK
Шаг 2. Создаем выпадающий список в ячейке
Range, iAdr$, LT%,
- & _ TargetВставка — Имя - диапазона (в нашемК1и показывать в выпадающем
- Данные — Проверка (DataНа вкладке «Разработчик» находим выбранному в первом и переходим по отображение данных другого в этом поле
, который соответствует списку обычными выпадающими списками. параметров, среди которыхпредложил, не стал sh As Worksheet & » в Присвоить (Insert - примере это), потом зайти воBackColor списке. По умолчанию — Validation) инструмент «Вставить» – списке названию. Если вкладке «Исходный текст».
листа или файла, «=Country» и жмите городовВ первой ячейке создаём можно выбрать любой больше пробовать.ListBox1.Clear выпадающий список?», vbYesNo Name — Define)’2′!$A$1:$A$3 вкладку «- цвет текста — 8, но. Из выпадающего списка «ActiveX». Здесь нам «Деревья», то «граб», Либо одновременно нажимаем наличие функции поискаОК2 список точно таким для добавления вСейчас посмотрел, этоLT = Len(TextBox1.Value) + vbQuestion) IfЗатем вводим имя диапазона)
Шаг 3. Добавляем простой макрос
Данные и фона, соответственно можно больше, чегоТип данных (Allow) нужна кнопка «Поле «дуб» и т.д. клавиши Alt + и зависимости.
. Теперь нам нужно. Позже Вы увидите, же образом, как ячейку. максимально упрощенный вариант,If LT = lReply = vbYes (допустим6.», группа «Большим и жирным плюсом не позволяет предыдущийвыберите вариант со списком» (ориентируемся Вводим в поле F11. Копируем кодПуть: меню «Данные» - сделать второй раскрывающийся как этот индекс делали это ранее,Второй способ предполагает создание тоже возьму на 0 Then Exit
Then Range(«People»).Cells(Range(«People»).Rows.Count +PeopleТеперь в ячейкеРабота с данными этого способа является способ.Список (List) на всплывающие подсказки). «Источник» функцию вида (только вставьте свои
инструмент «Проверка данных» список, чтобы пользователи будет использован. через проверку данных.
выпадающего списка с заметку. В любом Sub 1, 1) =) и в строку с выпадающим списком», кнопка «
planetaexcel.ru
Выпадающее меню со списком, содержащим вводимые буквы. (Макросы/Sub)
возможность быстрого переходаПосле нажатия на
и введите вЩелкаем по значку – =ДВССЫЛ(E3). E3 –
параметры).Private Sub Worksheet_Change(ByVal — вкладка «Параметры».
могли выбрать город.
Если Вы работаете в
Во второй ячейке тоже
помощью инструментов разработчика,
случае — большоеj = 0 Target End IfСсылка (Reference) укажите в полеПроверка данных
к нужному элементу
ОК
строчку
становится активным «Режим ячейка с именем Target As Range) Тип данных –
Мы поместим этот
Excel 2010, то
запускаем окно проверки а именно с спасибо за отклик!iAdr = Sheets(1).UsedRange.Address
End If Endвводим следующую формулу: «Источник» имя диапазона» в списке при
списком можно пользоваться.Источник (Source) конструктора». Рисуем курсором
первого диапазона. Dim lReply As «Список». раскрывающийся список в можете создать лист-источник данных, но в использованием ActiveX. По И сорри, что
iAdr = Mid(iAdr, If End Sub=СМЕЩ(Лист1!$A$1;0;0;СЧЁТЗ(Лист1!$A$1:$A$24);1)7.Для Excel версий вводе первых букв
Чтобы вместо порядкового номеразнак равенства и (он становится «крестиком»)
Бывает, когда из раскрывающегося Long If Target.Cells.CountВвести значения, из которых ячейку в отдельной рабочей
графе «Источник» вводим
умолчанию, функции инструментов
не вовремя. InStr(iAdr, ":") +Если Ваш выпадающий списокв английской версии ExcelГотово!
ниже 2007 те
с клавиатуры(!), чего
элемента выводилось его имя диапазона (т.е. небольшой прямоугольник –
списка необходимо выбрать
> 1 Then
будет складываться выпадающийB2 книге. Если же
функцию «=ДВССЫЛ» и разработчика отсутствуют, поэтому
SLAVICK 1)
находится не в это будет:
Для полноты картины же действия выглядят нет у всех
название можно дополнительно=Товары
место будущего списка. сразу несколько элементов.
Exit Sub If
список, можно разными
. А теперь внимание
у Вас версия
адрес первой ячейки.
нам, прежде всего,, спасибо за обаFor Each sh ячейке D2 или=OFFSET(Лист1!$A$1,0,0,COUNTA(Лист1!$A$1:$A$24),1)
добавлю, что список так:
остальных способов. Приятным
использовать функцию).Жмем «Свойства» – открывается Рассмотрим пути реализации Target.Address = "$C$2"
способами:
– фокус! Нам
Excel 2003 года, Например, =ДВССЫЛ($B3). нужно будет их
варианта! И отдельное
In ActiveWorkbook.Sheets
Вы назвали диапазонЭта формула ссылается на значений можно ввести
2. моментом, также, является
ИНДЕКС (INDEX)Нажмите
перечень настроек. задачи.
Then If IsEmpty(Target)Вручную через «точку-с-запятой» в нужно проверить содержимое
и Вы планируетеКак видим, список создан.
включить. Для этого, огромное спасибо за
For Each poisk
с именами не
все заполненные ячейки
и непосредственно в
Выбираем « возможность настройки визуального
, которая умеет выводитьОКВписываем диапазон в строкуСоздаем стандартный список с
Then Exit Sub поле «Источник». ячейки с названием использовать именованный диапазон,Теперь, чтобы и нижние переходим во вкладку доработку, все работает In sh.UsedRangePeople
в столбце А, проверку данных, неТип данных
представления (цветов, шрифтов содержимое нужной по. ListFillRange (руками). Ячейку, помощью инструмента «Проверка If WorksheetFunction.CountIf(Range(«Деревья»), Target)Ввести значения заранее. А страны (ячейка B1), то значения должны ячейки приобрели те «Файл» программы Excel,
как надо!On Error Resume, а как-то еще, начиная с А1 прибегая к вынесению» -« и т.д.) счету ячейки из
Все! Наслаждайтесь! куда будет выводиться данных». Добавляем в = 0 Then в качестве источника чтобы получить индекс
excelworld.ru
находиться в той
Группа: Проверенные Ранг: Ветеран Сообщений: 707
Замечаний: |
Цитата
возможно ли с помощью макроса выбрать следующее значение в ячейке с выпадающем списком?
В модуль листа
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range(«E4»)) Is Nothing Then
Application.EnableEvents = False
Dim iDate As Date
iDate = CDate(«1 » & Target & » 2021″)
Target = Format(DateSerial(Year(iDate), Month(iDate) + 1, 1), «MMMM»)
End If
Application.EnableEvents = True
End Sub
[/vba]