- •1.Введение в программирование на vba Понятие объекта
- •Среда программирования
- •Типы данных
- •Переменные
- •Стандартные элементы управления. Объект Форма(UserForm) и элемент Кнопка(CommandButton)
- •Элемент Кнопка
- •Стандартные окна ввода и вывода сообщений
- •Окно сообщения
- •Окно ввода
- •Практические задания Задание 1.1
- •Задание 1.2
- •Задание 1.3
- •Задание 1.4
- •2.Реализация линейных алгоритмов Программирование арифметических выражений
- •Математические операции
- •Стандартные математические функции
- •Элементы Надпись(Label) и Поле(TextBox) Элемент Поле
- •Элемент Надпись
- •Практические задания Задание 2.1
- •Задание 2.2
- •Задание 2.3
- •3.Реализация алгоритмов с условиями Программирование условий Операторы сравнения
- •Логические операции
- •Инструкция If…Then…Else
- •Инструкция Select Case
- •Функции, используемые при программировании условий
- •Элементы Рисунок(Image), Счетчик и Полоса прокрутки(ScrollBar) Элемент Рисунок
- •Элемент Счетчик
- •Элемент Полоса прокрутки
- •Практические задания Задание 3.1
- •Задание 3.2
- •З адание 3.3
- •4.Реализация циклических алгоритмов Программирование циклов Цикл For…Next
- •Цикл Do While…Loop / Do…Loop While
- •Цикл Do Until...Loop / Do…Loop Until
- •Практические задания Задание 4.1
- •Задание 4.2
- •5.Использование процедур и функций в программах на vba Процедуры и функции
- •Элементы Рамка(Frame), Флажок(CheckBox), Переключатель(OptionButton), Выключатель(ToggleButton) Элемент Рамка
- •Элемент Флажок
- •Элемент Выключатель
- •Элемент Переключатель
- •Практические задания Задание 5.1
- •6.Использование структурированных типов данных на примере массивов Понятие массива. Работа с массивами
- •Практические задания Задание 6.1
- •Практические задания Задание 7.1
- •Задание 7.2
- •Задание 7.3
- •Задание 7.4
- •Задание 7.5
- •Задание 7.6
- •Задание 7.7
- •Задание 7.8
- •8.Работа с макросами в ms Excel Основные объекты ms Excel
- •Понятие макроса. Создание, редактирование, выполнение макросов
- •Цикл For Each
- •Инструкция With
- •Практические задания Задание 8.1
- •Задание 8.2
- •Задание 8.3
- •9.Создание приложений, управляемых с помощью диалоговых окон Элементы Поле со списком (ComboBox), Список (ListBox)
- •Практические задания Задание 9.1
- •Задание 9.2
- •10.Рекомендуемая литература
Задание 8.3
В этом примере показано, как можно определить минимальный и максимальный номера столбцов и строк диапазона ячеек, а также имя текущего листа и ссылку на текущую ячейку. Указанные значения выводятся на форме.
Ниже приведен текст модуля формы. Переменная MyRng содержит ссылку на диапазон. Это либо выделенные ячейки, либо диапазон, определенный с помощью свойства CurrentRegion (диапазон расширен до пустых строк и столбцов).
Dim MyRng As Range
Private Sub OptionButton1_Click()
Set MyRng = Selection
ПараметрыДиапазона
End Sub
Private Sub OptionButton2_Click()
Set MyRng = ActiveCell.CurrentRegion.Cells
ПараметрыДиапазона
End Sub
Private Sub ПараметрыДиапазона()
'Имя активного листа
TextBox1.Text = ActiveSheet.Name
'Адрес активной ячейки
TextBox2.Text = ActiveCell.Address
'Номер первого столбца диапазона
TextBox3.Text = MyRng.Columns(1).Column
'Номер последнего столбца диапазона
TextBox4.Text = MyRng.Columns(MyRng.Columns.Count).Column
'Номер первой строки дипазона
TextBox5.Text = MyRng.Rows(1).Row
'Номер последней строки диапазона
TextBox6.Text = MyRng.Rows(MyRng.Rows.Count).Row
End Sub
Напишите макрос для вывода формы на экран аналогично заданию 8.2.
9.Создание приложений, управляемых с помощью диалоговых окон Элементы Поле со списком (ComboBox), Список (ListBox)
Элемент Поле со списком даёт возможность пользователю выбрать нужную информацию из списка возможных значений или ввести её в поле списка.
Список в элементе Поле со списком может содержать несколько столбцов. Строки и столбцы нумеруются с 0.
Основные свойства элемента Поле со списком:
List |
Используется для доступа к элементу списка. В качестве параметров указываются номера строк и столбцов. Также можно использовать для инициализации списка. Например, если в программе описан массив MyArray(10), то присвоить списку значения этого массива можно, выполнив инструкцию: MyList.List() = MyArray Обратиться к элементу списка можно так: MyList.List(i) = MyList.List(i) + 1 |
ListIndex |
Содержит номер текущей строки. Равен -1, если никакой элемент не выбран. |
ListCount |
Количество строк в списке. |
RowSource |
Определяет источник элементов списка. В качестве значения используется ссылка на диапазон рабочего листа Microsoft Excel. Например, MyList.RowSource = "A1:A10" |
Text |
Содержит выбранное или введенное значение, которое отображается в текстовом поле. |
Style |
Определяет, как пользователь может ввести значения в поле списка: 0 - поле с раскрывающимся списком. Позволяет ввести данные, которых нет в списке; 2 - раскрывающийся список. Не позволяет ввести новые данные. |
Основные методы элемента Поле со списком:
AddItem |
Object.AddItem строка[, индекс] Добавляет элемент строка в список. Если задан индекс, то элемент помещается в указанную позицию. Если индекс не задан, то элемент добавляется в конец списка. |
RemoveItem |
Object.RemoveItem (индекс) Удаляет из списка элемент с заданным индексом |
Clear |
Удаляет все строки из списка. |
Основные события элемента Поле со списком:
Change |
Введено или выбрано новое значение списка. |
Enter |
Возникает перед тем как элемент получит фокус от другого элемента на этой же форме. |
Exit |
Возникает непосредственно перед тем, как фокус будет передан от данного элемента другому на той же форме. |
Элемент Список применяется для хранения списка значений. Во время работы приложения пользователь может выбрать из списка одно или несколько значений.
Основные свойства элемента Список:
List, ListCount, RowSource |
Имеют такой же смысл, как у элемента Поле со списком. |
ListIndex |
Содержит номер текущей строки. Равно -1, если никакой элемент не выбран. Если выделено несколько строк, то равно номеру строки, которая имеет фокус. |
MultiSelect |
Определяет, можно ли выделить несколько элементов списка. |
Selected |
Массив, состоящий из того же количества элементов, что и список. Для каждого элемента списка свойство равно True, если элемент выделен, и False, если нет. |
Text |
Возвращает выбранный в списке элемент. |
Основные методы и события элемента Список такие же, как у элемента Поле со списком.