Как вставить combobox в ячейку excel
Этот объект соответствует комбо-окне управления. Управление комбо-поле сочетает в себе функции текстового окна и списка. Используйте поле комбо, если вам нужен вариант ввода значения или выбора значения из заранее выбранного списка.
Заметки
В представлении формы Microsoft Access не отображает список, пока не нажмете стрелку комбо-окна.
Если у вас есть мастера управления, прежде чем выбрать средство коробки комбо, вы можете создать поле комбо с мастером. Чтобы включить или отключить мастера управления, щелкните средство Мастери управления в панели инструментов.
Параметр свойства LimitToList определяет, можно ли вводить значения, которые не входят в список.
Список может быть одно- или несколько столбцов, а столбцы могут отображаться с заголовками или без них.
Пример
В следующем примере показано, как использовать несколько элементов управления ComboBox для обеспечения критериев для запроса.
В следующем примере показано, как установить свойство RowSource для комбо-окна при загрузке формы. При отображлении формы элементы, хранимые в поле Departments в поле комбо tblDepartment, отображаются в поле комбо cboDept.
В следующем примере показано, как создать поле комбо, связанное с одним столбцом при отображке другого столбца. Настройка свойства ColumnCount до 2 указывает, что в поле cboDept будет отображаться первые два столбца источника данных, указанного свойством RowSource. Настройка свойства BoundColumn до 1 указывает, что значение, сохраненное в первом столбце, будет возвращено при проверке значения комбо-окна.
Свойство ColumnWidths указывает ширину двух столбцов. Задав ширину первого столбца до 0in. Первый столбец не отображается в поле комбо.
В следующем примере показано, как добавить элемент в связанное поле комбо.
События
Методы
Свойства
См. также
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.
Создайте пользовательскую форму UserForm1 и разместите на ней поле со списком ComboBox1. Используйте метод AddItem для заполнения элемента управления значениями:
Скопируйте код и запустите его выполнение, на открывшейся форме раскройте поле со списком, в результате увидите, что элемент управления ComboBox1 заполнен соответствующими значениями:
Заполнение ComboBox значениями из массива
Для заполнения элемента управления ComboBox значениями из массива будем использовать свойство поля со списком List и функцию Array:
. ComboBox1 . List = Array ( "Кружка" , "Стакан" , "Бокал" , "Пиала" , "Фужер" )Результат выполнения кода будет таким же, как и на предыдущем изображении.
Таким же образом можно использовать не только функцию Array, но и переменную массива, предварительно объявленную и заполненную значениями:
Заполнение ComboBox значениями из ячеек
Для заполнения поля со списком значениями из диапазона ячеек рабочего листа будем использовать свойство комбинированного списка RowSource, предварительно заполнив диапазон «A1:A5» активного листа уже известными значениями:
Чтобы присвоить элементу управления ComboBox значения из диапазона ячеек любого рабочего листа, добавьте ссылку на него перед наименованием диапазона, например, замените «A1:A5» на «Лист1!A1:A5», и поле со списком будет заполнено значениями ячеек «A1:A5», расположенных на листе с именем «Лист1». Имя листа берется из наименования ярлыка.
Более подробно о заполнении данными ComboBox можно прочитать в статье о заполнении ListBox, так как оба эти элемента управления используют одинаковые способы заполнения.
Иногда возникает необходимость заполнения элементов управления ListBox и ComboBox уникальными значениями из диапазона ячеек с повторяющимся содержимым. Смотрите, как отсортировать уникальные элементы из списка с помощью объектов Collection и Dictionary.
Вы можете скачать файл Excel с представленными выше примерами. Файл упакован в ZIP-архив. Для проверки работоспособности кода, непосредственно в редакторе VBA помещайте курсор внутри тела каждой процедуры и нажимайте кнопку «Run Sub».
Содержание рубрики VBA Excel по тематическим разделам со ссылками на все статьи.Не получился ни один из предложенных вариантов( С чем это может быть связано?
Спасибо за примеры, на одном все получилось. Чуток лишнее удалил и все ОК.
Потому что пример привязан к тестовому объекту.
Я тоже не мог понять, при отсутствии навыков.
Но вот четко к полю привязку по примеру удалось сделать.
Аналогично в powerpoint вставка поля со списком
Вкладка с инструментами, связанными с VBA Excel, называется «Разработчик». Если этой вкладки нет на вашей ленте, добавьте ее через окно «Параметры»:
- Откройте окно «Параметры» через меню «Файл».
- Выберите вкладку «Настроить ленту».
- В правой колонке установите галочку у пункта «Разработчик» и нажмите «OK».
Кнопка – элемент управления формы
Вставка кнопки на лист
- Выберите вкладку «Разработчик» и нажмите на кнопку «Вставить».
- Нажмите на значок кнопки в коллекции «Элементы управления формы».
- Кликните в любом месте на рабочем листе Excel.
- Откроется окно «Назначить макрос объекту». Нажмите «Отмена», так как макрос для этой кнопки еще не готов.
- После нажатия кнопки «Отмена», на рабочем листе появится новая кнопка из коллекции «Элементы управления формы» в режиме редактирования.
Ухватив мышкой за один из кружочков, можно изменить размер кнопки. Ухватив кнопку за границу, можно перетащить ее в другое место. Также, в режиме редактирования, можно изменить название кнопки прямо на ее поверхности.
Чтобы выйти из режима редактирования кнопки из коллекции «Элементы управления формы», кликните в любом месте на рабочем листе.
Чтобы вернуться в режим редактирования кнопки, кликните по ней правой кнопкой мыши и выберите из контекстного меню нужный пункт. Если вы хотите изменить размер или размещение кнопки перетаскиванием, кликните левой кнопкой мыши в любом месте рабочего листа. После первого клика контекстное меню закроется, а кнопка останется в режиме редактирования.
Создание процедуры для кнопки
Кнопке из коллекции «Элементы управления формы» можно назначить макрос (процедуру), размещенную в стандартном программном модуле.
Создайте или откройте файл Excel с расширением .xlsm (Книга Excel с поддержкой макросов) и перейдите в редактор VBA, нажав сочетание клавиш «Левая_клавиша_Alt+F11».
Если вы не создавали ранее в этом проекте VBA стандартный программный модуль, нажмите кнопку «Module» во вкладке «Insert» главного меню. То же подменю откроется при нажатии на вторую кнопку (после значка Excel) на панели инструментов.
Ссылка на модуль появится в проводнике слева. Если модуль создан ранее, дважды кликните по его ссылке в проводнике, и он откроется справа для редактирования.
В открывшемся окне добавления шаблона процедуры оставьте выбранным переключатель «Sub», вставьте в поле «Name» название процедуры «NovayaProtsedura» и нажмите «OK».
В стандартный программный модуль будет вставлен шаблон процедуры «NovayaProtsedura».
When you want to display a list of values that users can choose from, add a list box to your worksheet.
Add a list box to a worksheet
Create a list of items that you want to displayed in your list box like in this picture.
Click Developer > Insert.
Note: If the Developer tab isn't visible, click File > Options > Customize Ribbon. In the Main Tabs list, check the Developer box, and then click OK.
Under Form Controls, click List box (Form Control).
Click the cell where you want to create the list box.
Click Properties > Control and set the required properties:
In the Input range box, type the range of cells containing the values list.
Note: If you want more items displayed in the list box, you can change the font size of text in the list.
In the Cell link box, type a cell reference.
Tip: The cell you choose will have a number associated with the item selected in your list box, and you can use that number in a formula to return the actual item from the input range.
Under Selection type, pick a Single and click OK.
Note: If you want to use Multi or Extend, consider using an ActiveX list box control.
Add a combo box to a worksheet
You can make data entry easier by letting users choose a value from a combo box. A combo box combines a text box with a list box to create a drop-down list.
You can add a Form Control or an ActiveX Control combo box. If you want to create a combo box that enables the user to edit the text in the text box, consider using the ActiveX Combo Box. The ActiveX Control combo box is more versatile because, you can change font properties to make the text easier to read on a zoomed worksheet and use programming to make it appear in cells that contain a data validation list.
Pick a column that you can hide on the worksheet and create a list by typing one value per cell.
Note: You can also create the list on another worksheet in the same workbook.
Click Developer > Insert.
Note: If the Developer tab isn't visible, click File > Options > Customize Ribbon. In the Main Tabs list, check the Developer box, and then click OK.
Pick the type of combo box you want to add:
Under Form Controls, click Combo box (Form Control).
Under ActiveX Controls, click Combo Box (ActiveX Control).
Click the cell where you want to add the combo box and drag to draw it.
To resize the box, point to one of the resize handles, and drag the edge of the control until it reaches the height or width you want.
To move a combo box to another worksheet location, select the box and drag it to another location.
Format a Form Control combo box
Right-click the combo box and pick Format Control.
Click Control and set the following options:
Input range: Type the range of cells containing the list of items.
Cell link: The combo box can be linked to a cell where the item number is displayed when you select an item from the list. Type the cell number where you want the item number displayed.
For example, cell C1 displays 3 when the item Sorbet is selected, because it's the third item in our list.
Tip: You can use the INDEX function to show an item name instead of a number. In our example, the combo box is linked to cell B1 and the cell range for the list is A1:A2. If the following formula, is typed into cell C1: =INDEX(A1:A5,B1), when we select the item "Sorbet" is displayed in C1.
Drop-down lines: The number of lines you want displayed when the down arrow is clicked. For example, if your list has 10 items and you don't want to scroll you can change the default number to 10. If you type a number that's less than the number of items in your list, a scroll bar is displayed.
Format an ActiveX combo box
Click Developer > Design Mode.
Right-click the combo box and pick Properties, click Alphabetic, and change any property setting that you want.
To set this property
Click BackColor > the down arrow > Pallet, and then pick a color.
Font type, style or size
Click Font > the. button and pick font type, size, or style.
Click ForeColor > the down arrow > Pallet, and then pick a color.
Link a cell to display selected list value.
Click LinkedCell
Link Combo Box to a list
Click the box next to ListFillRange and type the cell range for the list.
Change the number of list items displayed
Click the ListRows box and type the number of items to be displayed.
Close the Property box and click Designer Mode.
After you complete the formatting, you can right-click the column that has the list and pick Hide.
Need more help?
You can always ask an expert in the Excel Tech Community or get support in the Answers community.
Читайте также: