www.ПЕРВЫЕ ШАГИ.ru :: Шаг 26 - Заполнение списка на форме из таблицы

VBA

Шаг 26 - Заполнение списка на форме из таблицы

Итак, задача простая. У нас есть в таблице список девушек и мы ходим создать макрос, который будет зачитывать этот список и выводить в диалоговом окне. Вот под эту таблицу создавался макрос.

26_1.gif (4212 b)

Создайте точно такую таблицу, если не трудно :-)

Теперь переходим в редактор Visual Basic и создаем форму. На эту форму надо поместить два элемента управления: кнопку и список. Вот она какая.

26_2.gif (8678 b)

Шелкайте два раза по кнопке и вы попадете в редактирование события нажатия. Введите код:

Private Sub CommandButton1_Click()
	Unload Me
End Sub

Что означает "уничтож меня" :-). То есть форму. Это me похожа на this в C++ и идентифицирует объект, в котором производятся события. Даже спрашивать не надо, где я нахожусь. Unload и всё.

Заполнять список мы будем при активизации формы. Поэтому нам необходимо обработать событие инициализации. Щелкните по форме два раза и выберите из меню событий (справа) Activate. И код.

Private Sub UserForm_Activate()
	' Активизируем нужный лист
	Worksheets.Item("Test").Activate
	' Выбиделяем диапазон
	Dim девушки As Range
	' Объект выделения
	Set девушки = Range("K2:K6")
	' Выделяем
	Dim vars As Variant
	' Пойдем по девчатам :-)
	For Each vars In девушки
		' Добавляем в список
		UserForm1.ListBox1.AddItem (vars)
	Next vars
End Sub

Код прокомментирован и наверно понятен. Использование русских слов для переменных это не ошибка. Наконец это делать можно. Здесь в VBA можно использовать русские буквы для имен переменных.

И макрос для запуска формы:

Sub Test()
	UserForm1.Show
End Sub

В макросе написано - "форма покажись". Ну вот. Запускайте. Вот как это получится:

26_3.gif (2516 b)


Предыдущий Шаг | Следующий Шаг
Автор Каев Артем.