Шаг 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
В макросе написано - "форма покажись". Ну вот. Запускайте. Вот как это получится:
Предыдущий Шаг | Следующий Шаг
Автор Каев Артем.