- •Федеральное государственное бюджетное образовательное учреждение
- •Оглавление
- •§ 2. Объекты, методы, свойства
- •2.1. Объекты (Objects)
- •2.2. Классы объектов (Classes Objects)
- •2.3. Свойства объекты (Properties)
- •2.4. Методы объекты (Methods)
- •Объект.Метод (арг1, арг2) § 3 Объекты: Application, Range, Selection, Cells, их методы и свойства
- •3.1. Объект Application (приложение)
- •3.1.1. Свойства объекта Application
- •3.1.2. Методы объекта Application
- •3.2. Объект Range
- •3.2.1. Свойства объекта Range
- •Объект. Cells ( номер_строки, номер_столбца).
- •3.2.2. Методы Объекта Range
- •3.3. Объект Selection
- •3.3.1. Свойства Объекта Selection
- •3.3.2. Методы Объекта Selection
- •§ 4 Семейство UserForms, их методы и свойства
- •4.1. Свойства пользовательской формы
- •4.2. Методы пользовательской формы
- •§ 5 Элементы управления
- •5.1. Свойства элементов управления
- •5.2. Label – метка (надпись, статический текст)
- •5.3. TextBox – поле ввода (окно редактирования)
- •5.4. CommandButton – командная кнопка
- •5.5. OptionButton – кнопка-переключатель
- •5.6. ListBox – список
- •5.7. CheckBox – флажок (кнопка выбора)
- •5.8. ScrollBar – полоса прокрутки
- •5.9. Frame – рамка (группы)
- •§ 6 Создание пользовательских форм
- •Лабораторный практикум № 1. Заполнение ListBox.
- •1. Заполнение объектов ListBox, расположенных на одном объекте UserForm.
- •Программа Заполнение объектов ListBox, расположенных на одном объекте UserForm.
- •2. Заполнение объектов ListBox, расположенных на разных объектах UserForm.
- •2.1 Заполнение списка поэлементно, если список состоит из одной колонки
- •2.2 Заполнение списка массивом, если список состоит из одной колонки
- •2.3 Заполнение списка из диапазона, в который предварительно введены элементы списка
- •2.4 Заполнение списка поэлементно, если список состоит из нескольких колонок
- •2.5 Заполнение списка массивом, если список состоит из нескольких колонок
- •3. Заполнение объектов ListBox, расположенных на листе Excel
- •Программа Заполнение объектов ListBox, расположенных на листе Excel
- •Лекция 2. Виды алгоритмов. Операторы цикла
- •§ 1. Алгоритмы последовательные, разветвляющиеся и циклические с заданным числом итераций и с неизвестным числом итераций
- •1.1. Алгоритмы линейной структуры
- •1.2. Алгоритмы разветвляющейся структуры
- •If [условие] Then
- •1.3. Алгоритмы циклической структуры
- •§ 2. Операторы цикла в Excel и vba
- •2.1. Операторы цикла vba
- •Операторы
- •Операторы
- •Do While [условие] операторы
- •Операторы
- •2.3. Выход из структур управления
- •2.4. Оператор цикла с предусловием While…Do
- •While Условие Do Оператор.
- •2.5. Оператор цикла с постусловием Repeat…Until
- •2.3 Оператор цикла с параметром for
- •2.4 Оператор цикла с параметром With
- •Лабораторный практикум № 2. Табулирование функции
- •Программа табулирование разветвляющейся функции вVва
- •Функции, разветвляющейся больше, чем один раз
- •Программа табулирования двух функций вVва
- •2. Табулирование функции
- •2.1 Программа табулирования функции в vва
- •4. Табулирование функций в объектах ListBox
- •2.2 Программа Табулирование функций в объекте ListBox
- •Лекция 3. Файлы
- •Чтение из файла.
- •Чтение из файла
- •Лабораторный практикум № 3.
- •Часть 1
- •Часть 2
- •Часть 3
- •Лекция 4. Массивы
- •Лабораторный практикум № 4
- •Лекция 5. Графика
- •Ксения Владимировна Григорьева Информатика Введение в объектно-ориентированное программирование
1. Заполнение объектов ListBox, расположенных на одном объекте UserForm.
Создание пользовательской формы c объектами ListBox организуется следующим образом:
Войти в VBA – Alt-F11;
Выбрать Insert (вставка);
Выбрать UserForm.
Затем на появившуюся “платформу” объекта UserForm с панели Toolbox последовательно переместить:
пять объектов ListBox;
один объект TextBox;
два объекта CommandButton,
расположив их, как показано на рис. 1.1.
Далее войти в VBA (Alt-F11), выбрать объект UserForm.
Затем, выбрав, объект CommandButton1, написать соответствующую программу, обеспечивающую заполнение данными объектов ListBox1- ListBox5.
Для реализации заполнения объекта ListBox3 способом “Из диапазона” необходимо предварительно ввести элементы списка в выбранный диапазон, например A1:B6, рис. 1.1.
Рис. 1.1.
Рис. 1.2.
Рис. 1.3.
Программа Заполнение объектов ListBox, расположенных на одном объекте UserForm.
Private Sub CommandButton1_Click()
Dim s(1 To 5,1 To 3)As String
Dim i As Integer
Dim j As Integer
' Заполнение списка поэлементно, если список состоит из одной колонки
With ListBox1
.AddItem “Июнь”
.AddItem “Июль”
.AddItem ”Август”
.AddItem “Сентябрь”
End With
' Заполнение списка массивом, если список состоит из одной колонки.
With ListBox2
.List=Array(''Июнь'', ''Июль'', ''Август'', ''Сентябрь'', ''Октябрь'')
.ListIndex=1
TextBox1=.ListIndex
.ControlSource=''A7''
End With
' Заполнение списка из диапазона, в который предварительно введены элементы списка.
With ListBox3
. ColumnCount=2
.RowSource=''A1:B5''
.ControlSourse=''A8''
.BoundColumn=0
.BoundColumn=1
.BoundColumn=2
TextBox2=.BoundColumn
End With
' Заполнение списка поэлементно, если список состоит из нескольких колонок.
With ListBox5
.ColumnCount=3
.AddItem ''Июнь''
.List(0,1)=''06''
.List(0,2)=''30''
.AddItem ''Июль''
.List(1,1)=''07''
.List(1,2)=''31''
.AddItem ''Август''
.List(2,1)=''08''
.List(2,2)=''31''
.AddItem ''Сентябрь''
.List(3,1)=''09''
.List(3,2)=''30''
End With
' Заполнение списка массивом, несколько колонок
S(1, 1) ="№": S(1, 2) = "ФИО": S(1, 3) = "Оценка"
S(2, 1) = "1" : S(2, 2) = "Петров": S(2, 3) = "3"
S(3, 1) = "2" : S(3, 2) = "Шацков": S(3, 3) = "5"
S(4, 1) = "3" : S(4, 2) = "Фролькис": S(4, 3) = "2"
S(5, 1) = "4" : S(5, 2) = "Печкин": S(5, 3) = "4"
With ListBox5
.ColumnCount = 3
.List = S
End With
End Sub
Private Sub CommandButton2_Click()
Unload Me
End Sub
Некоторые комментарии к программе:
– В модуле Private Sub CommandButton1_Click(), программно поддерживающем объект CommandButton1, при реализации способа поэлементного заполнения списка ListBox1, к объекту ListBox1 применяется метод AddItem, с помощью которого в операторе цикла With добавляются элементы списка, например .AddItem "Июнь" и т.д.;
– В модуле Private Sub CommandButton1_Click(), программно поддерживающем объект CommandButton1, при реализации способа заполнения списка ListBox2 массивом, если список состоит из одной колонки, к объекту ListBox2 применяется свойство .List, в качестве значения которого объекту ListBox2 передается одномерный массив символьных констант "Июнь", "Июль" и т.д.;
– Кроме того, для списка ListBox2 применяется свойство .ControlSource, с помощью которого устанавливается ячейка (в данном случае это “A7”), в которую возвращается выбранный элемент списка ListBox2, так как на рис. 1.1 в списке ListBox2 была выбрана вторая строка, второй элемент списка "Июль", то поэтому этот элемент и отобразился в ячейке A7;
– В операторе цикла With объекта ListBox2 для объекта TextBox1 применяется свойство .ListIndex, которое возвращает номер текущего, то есть выбранного, элемента списка. Так как первоначально после вызова объекта UserForm объекты ListBox1- ListBox5 не заполнены и, следовательно, в объекте ListBox2 никакой элемент списка не выбран, то после нажатия кнопки “Заполнить”, в окне объекта TextBox1, рис. 1.1, появляется значение “-1”. После выбора в объекте ListBox2 элемента списка "Июль", и повторного нажатия кнопки “Заполнить”, в окне объекта TextBox1, рис. 1.1, появляется значение “1”, а не “2”, так как нумерация элементов списка начинается с нуля;
– В модуле Private Sub CommandButton1_Click(), программно поддерживающем объект CommandButton1, при реализации способа заполнения списка ListBox3 из диапазона, к объекту ListBox3 применяется свойство RowSours, с помощью которого устанавливается диапазон, содержащий элементы списка, в данном случае "A1:B6";
– Так как данные, передаваемые из указанного диапазона, в объект ListBox3 представляют собой таблицу, состоящую из двух столбцов, то, к объекту ListBox3 применяется свойство .ColumnCount, значение которого устанавливает число столбцов в списке = 2;
– Кроме того, для списка ListBox3 применяется свойство .ControlSource, с помощью которого устанавливается ячейка (в данном случае это “A8”), в которую возвращается выбранный элемент списка ListBox3, так как на рис. 1.1 в списке ListBox3 была выбрана пятая строка списка ListBox3, элементом которого является "5", то поэтому этот элемент и отобразился в ячейке A8;
– В модуле Private Sub CommandButton1_Click(), программно поддерживающем объект CommandButton1, при реализации способа заполнения списка ListBox4 поэлементно, если список состоит из нескольких колонок, к объекту ListBox4 применяется метод AddItem, с помощью которого в операторе цикла With добавляются элементы списка, например .AddItem "Июнь" и т.д.; Кроме того, к объекту ListBox4 применяется свойство .List, в качестве значений которого элементам списка ListBox4, находящимся на пересечении указанных строк и столбцов, сообщаются соответствующие символьные константы, например, "0.6", "30" и т.д.;
– Так как данные, формируемые в объекте ListBox4 представляют собой таблицу, состоящую из трех столбцов, то, к объекту ListBox4 применяется свойство .ColumnCount, значение которого устанавливает число столбцов в списке = 3;
– В модуле Private Sub CommandButton1_Click(), программно поддерживающем объект CommandButton1, при реализации способа заполнения списка ListBox5 массивом, если список состоит из нескольких колонок, сначала объявляется двумерный массив S, а затем с помощью операторов присваивания выполняется заполнение элементов массива. После чего к объекту ListBox5 применяется свойство .List, в качестве значения которого объекту ListBox5 передается двумерный массив символьных констант "№","ФИО,"Оценка"и т.д. Кроме того, к объекту ListBox5 применяется свойство .ColumnCount, значение которого устанавливает число столбцов в списке = 3;
– Модуль объекта CommandButton2, который в свойстве Caption переименован в “Выход”, обеспечивает завершение функционирования объекта UserForm.