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

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

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

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

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

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

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: