добавить значения в список на форме vba
VBA Excel. ComboBox — заполнение поля со списком
Заполнение ComboBox данными с помощью кода VBA Excel. Добавление значений в поле со списком методом AddItem, из массива и из диапазона рабочего листа. Примеры.
Заполнение ComboBox методом AddItem
Создайте пользовательскую форму UserForm1 и разместите на ней поле со списком ComboBox1. Используйте метод AddItem для заполнения элемента управления значениями:
Скопируйте код и запустите его выполнение, на открывшейся форме раскройте поле со списком, в результате увидите, что элемент управления ComboBox1 заполнен соответствующими значениями:
Заполнение ComboBox значениями из массива
Для заполнения элемента управления ComboBox значениями из массива будем использовать свойство поля со списком 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».
10 комментариев для “VBA Excel. ComboBox — заполнение поля со списком”
Не получился ни один из предложенных вариантов( С чем это может быть связано?
Спасибо за примеры, на одном все получилось. Чуток лишнее удалил и все ОК.
Потому что пример привязан к тестовому объекту.
Я тоже не мог понять, при отсутствии навыков.
Но вот четко к полю привязку по примеру удалось сделать.
Аналогично в powerpoint вставка поля со списком
Программное добавление элементов в пользовательскую форму
Доброго времени суток!
Есть пользовательская форма (см. вложение).
Стоит нетривиальная задача (во всяком случае для меня).
Нужно сделать так, чтобы при изменении значения в текстовом поле «количество» соответственно изменялось и количество ComboBox’ов и TextBox’ов («Модель», «Инвентарный номер», «Серийный номер», «Стоимость»). То есть, если «количество» = 5, то на форме появляется 5 ComboBox’ов «Модель», 5 TextBox’ов «Инвентарный номер» и т. д.
Как изменить размеры формы в зависимости от значения поля, код написан, а вот с добавлением и удалением элементов возникла заминка.
Подскажите, пожалуйста.
P. S.
Система Win2000/XP
Office 2003
программное добавление объектов на форму
не как не могу разобраться procedure TForm1.Button1Click(Sender: TObject); var b : TButton;.
Программное добавление элемента на форму
Доброе всем со-товарищам! Перехожу на Qt с C# и возникло пару проблем с динамическим добавлением.
Программное добавление кнопки, открывающая форму внешней обработки
Добрый день. Интересует такой вопрос: при добавлении внешней печатной формы с коде в функции.
Программное добавление элементов
Уважаемы подскажите такую ситуацию, не могу немного понять. Как на Relative разметке программно.
Работа со списками в Visual Basic
Приведённые практические работы по программированию могут быть использованы при изучении элементов выбора Visual Basic. Списки целесообразно изучать после знакомства с переключателями (OptionButton) и флажками (CheckBox).
При объяснении нового материала удобно использовать распечатки с изложением теоретического материала и примерами программ, которые выдаются каждому студенту (ученику), либо методические пособия (мы используем авторское пособие “Практикум по решению задач в среде Visual Basic”, часть 1, 2).
Приведённые практические работы рассчитаны на 3 занятия по 2 часа. Задания самостоятельной работы можно использовать в качестве домашних заданий.
1. Комбинированный список ComboBox
Комбинированный список представляет комбинацию раскрывающегося списка и текстового поля. Пользователь имеет возможность выбрать определенное значение какого-либо параметра в раскрывающемся списке или ввести необходимое значение в текстовое поле. Если элементы не помещаются в границах стандартного окна, то автоматически появляются полосы прокрутки, с помощью которых можно выбирать требуемый элемент в списке.
Основные свойства ComboBox
List
ListCount
NewIndex
Sorted
Style
Text
AddItem
Clear
RemoveItem
Для добавления нового элемента в список используется метод AddItem.
Добавить элементы в комбинированный список можно также на этапе разработки с помощью свойства List. Для добавления очередного элемента в список нужно ввести этот элемент в свойстве List и нажать комбинацию клавиш Ctrl + Enter.
Данный элемент применяется в том случае, когда пользователю необходимо выбрать один элемент из имеющегося списка для выполнения определенных действий. Объекты ListBox используются обычно в сочетании с управляющими кнопками, которые позволяют обрабатывать элементы списка (добавлять, удалять и т. д.).
В отличие от ComboBox список ListBox можно создать многоколончатым и осуществлять выбор нескольких элементов одновременно.
Основные свойства элемента ListBox
Columns
MultiSelect
Методы ListBox аналогичны методам ComboBox.
Практическая работа 1. Проект “Результаты сессии”
Задание: создать проект, содержащий 3 списка: список студентов группы; список студентов, получивших зачёт и список неаттестованных. Двойным щелчком мыши в списке студентов (List1) выбирается фамилия и добавляется в список “Зачёт” (List2). Двойным щелчком в списке “Зачёт” фамилия возвращается назад. Кнопкой “Добавить в список” фамилия, введённая в текстовое поле Text1, заносится в список List1. Кнопка “н/а” заносит выбранную фамилию из списка студентов в список List3 ( н/а).
Private Sub Form_Load() ‘загрузка формы
List1.AddItem «Чесноков»: List1.AddItem «Симонов»
List1.AddItem «Трушков»: List1.AddItem «Морозова»
Private Sub List1_DblClick() ‘перенести из списка в зачёт
List1.RemoveItem List1.ListIndex ‘удалить из списка
Private Sub List2_DblClick() ‘перенести назад в Список из Зачёт
Private Sub List3_DblClick() ‘перенести назад в список из н/а
Private Sub Command1_Click() ‘добавить в список из текст. поля
Private Sub Command3_Click() ‘добавить в н/а
List1.RemoveItem List1.ListIndex ‘удалить из списка
Примерный вид формы показан на рисунке.
Практическая работа 2. Проект “Переводчик”
Задание: создать проект для проверки знания иностранных слов (англо-русский и русско-английский переводчик).
Рисунки к проекту сохраните в папке с проектом в порядке следования слов в списке Combo1:
Ris0.jpg – рисунок к первому слову списка;
Ris1.jpg – рисунок ко второму слову списка и т.д.
Для определения имени файла рисунка в проекте используем переменную Path:
Path = «Ris» & Mid(Str(n), 2, 1) & «.jpg»
Функция Mid используется для того, чтобы убрать пробел перед числом в имени файла, т.к. функция Str(n) для положительного числа формирует строку с пробелом перед числом. Таким образом, получаем неверное имя файла Ris 0.jpg, вместо Ris0.jpg.
Рассмотрим основные процедуры проекта.
1) В процедуре загрузки формы нужно заполнить списки русских и английских слов.
Dim n, k, z, p As Integer, Path As String
‘n – индекс слова в списке; k – количество верных ответов; z – кол. вопросов; p – признак направления перевода; Path – путь к файлу с рисунком на диске
Private Sub Form_Load()
Combo1.AddItem «собака»: Combo1.AddItem «дельфин»
Combo1.AddItem «осёл»: Combo1.AddItem «красный»
Combo1.AddItem «зеленый»: Combo2.AddItem «Dog»
Combo2.AddItem «Dolphin»: Combo2.AddItem «Donkey»
Combo2.AddItem «Red»: Combo2.AddItem «Green»
k = 0 ’количество верных ответов
z = 0 ‘количество вопросов
2) При выборе кнопки “Перевод рус/англ” должно появляться русское слово. Для данного слова нужно найти перевод в списке английских слов. Список русских слов при этом должен скрываться.
Private Sub Command5_Click() ‘Перевод рус/англ
p = 1 ‘признак перевода – рус/англ
Combo1.Visible = False ‘скрыть список русских слов
Combo2.Visible = True ‘показать список англ. слов
Label1.Caption = «Русское слово»
Timer1.Enabled = True ‘включить таймер
3) В процедуре таймера случайным образом определяем индекс слова в списке слов. Если p=1, то было выбрано направление перевода рус/англ., поэтому слово выбирается из списка русских слов Combo1.
Private Sub Timer1_Timer()
z = z + 1 ‘подсчёт кол. вопросов
n = Int(Rnd * 4) ‘случайный выбор индекса слова в списке слов
If p = 1 Then Text1.Text = Combo1.List(n)
4) Для выбора перевода заданного русского слова пользователь делает щелчок по списку английских слов. Если индекс исходного русского слова n совпадает с индексом слова-перевода, выбранного пользователем, то ответ верный.
Private Sub Combo2_Click() ‘список англ. слов
If n = Combo2.ListIndex Then ‘если ответ верный
Image1.Visible = True ‘показать рисунок
MMControl1.FileName = «da.wav» ‘загрузить звуковой файл
Path = «Ris» & Mid(Str(n), 2, 1) & «.jpg»
Image1.Picture = LoadPicture(Path) ‘загрузить файл с соответствующим рисунком
Else ‘если ответ неверный
MMControl1.Command = «sound» ‘воспроизвести звук. файл
Свойства шрифта в метке задаются следующими командами:
Label1.Font.Italic = True – установить курсив
Label1.Font.Bold = False – отменить жирный шрифт
Label1.Font.Underline = True – установить подчёркнутый шрифт
Label1.Font = Combo1.Text – применить к метке тип шрифта, выбранный в комбинированном списке 1
VBA Excel. ListBox – заполнение списка данными
Заполнение ListBox данными с помощью кода VBA Excel. Добавление значений в список методом AddItem, с помощью свойств List и RowSource. Примеры.
Создайте в редакторе VBA Excel пользовательскую форму с любым именем и разместите на ней список с именем ListBox1. Вставляйте в модуль формы код примера, запускайте код или форму и смотрите результат.
Чтобы запустить форму, фокус должен быть на ее проекте или на одном из ее элементов управления. Чтобы запустить код, курсор должен быть в одной из его строк. Запускается код или форма нажатием клавиши «F5» или треугольной кнопки «Run Sub/UserForm»:
Заполнение ListBox методом AddItem
Метод AddItem используется для загрузки отдельного элемента в ListBox. Он создает в списке новую строку и записывает в нее значение. Используя цикл, можно загрузить в ListBox одномерный массив.
Пример 1
Загрузка элементов в ListBox по отдельности:
Результат работы кода:
Пример 2
Загрузка данных в ListBox из одномерного массива при помощи цикла VBA Excel:
Заполнение ListBox с помощью свойства List
Свойство List позволяет в коде VBA Excel скопировать целиком одномерный или двухмерный массив значений в элемент управления ListBox. А также добавлять данные в элементы двухмерного списка по их индексам в строки, созданные методом AddItem.
Пример 3
Заполнение списка данными из одномерного массива.
Загрузка значений, возвращенных функцией Array:
Загрузка значений из переменной одномерного массива:
Пример 4
Заполнение списка данными из двухмерного массива.
Результат получается следующий:
Пример 5
Заполнение списка с тремя столбцами по каждому элементу отдельно. Создаем строку и записываем значение в первый столбец методом AddItem. Значения во второй и третий столбцы записываем с помощью свойства List по индексам:
Результат работы кода будет таким же, как в Примере 4.
Заполнение ListBox с помощью свойства RowSource
Свойство RowSource позволяет загрузить в элемент управления ListBox значения из диапазона ячеек на рабочем листе Excel. Задать адрес диапазона свойству RowSource можно как в ходе выполнения кода VBA, так и в окне Properties элемента управления ListBox.
Пример 6
Импорт данных в одностолбцовый список из диапазона «A1:A7» рабочего листа «Лист1»:
VBA Excel. Элемент управления ListBox (список)
Элемент управления пользовательской формы ListBox для выбора и ввода информации в VBA Excel. Свойства списка, его заполнение, извлечение данных, примеры кода.
Элемент управления ListBox
Список используется в тех случаях, когда необходимо добавить в форму информацию, которая заранее известна, а ее отдельные позиции можно сгруппировать в список. Элемент управления ListBox оправдывает себя при небольших списках, так как большой список будет занимать много места на форме.
Использование полос прокрутки уменьшает преимущество ListBox перед элементом управления ComboBox, которое заключается в том, что при открытии формы все позиции для выбора на виду без дополнительных действий со стороны пользователя. При выборе информации из большого списка удобнее использовать ComboBox.
Элемент управления ListBox позволяет выбрать несколько позиций из списка, но эта возможность не имеет практического смысла. Ввести информацию в ListBox с помощью клавиатуры или вставить из буфера обмена невозможно.
Свойства списка
* При Enabled в значении False возможен только вывод информации в список для просмотра.
** Для элемента управления ListBox действие свойства Locked в значении True аналогично действию свойства Enabled в значении False.
*** Если включен многострочный выбор, свойства Text и Value всегда возвращают значения по умолчанию (пустая строка и Null).
В таблице перечислены только основные, часто используемые свойства списка. Еще больше доступных свойств отображено в окне Properties элемента управления ListBox, а все методы, события и свойства – в окне Object Browser.
Вызывается Object Browser нажатием клавиши «F2». Слева выберите объект ListBox, а справа смотрите его методы, события и свойства.
Свойства BackColor, BorderColor, BorderStyle отвечают за внешнее оформление списка и его границ. Попробуйте выбирать доступные значения этих свойств в окне Properties, наблюдая за изменениями внешнего вида элемента управления ListBox на проекте пользовательской формы.
Способы заполнения ListBox
Используйте метод AddItem для загрузки элементов в список по одному:
- добавить звезды на фото приложение айфон
- добавить инн в битрикс