- •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.Рекомендуемая литература
Задание 3.2
Разработайте форму для решения уравнения ax2 + bx + c =0. Значения a, b, c вводятся. Предусмотрите возможность ввода пользователем любых значений параметров. Например, при a=0, b=0, c=0 x–любое число. Для ввода значений используйте элементы Поле.
Ниже приведен текст основной процедуры:
Private Sub CommandButton1_Click()
a = TextBox1.Text
b = TextBox2.Text
c = TextBox3.Text
If a = 0 Then
If (b = 0) And (c = 0) Then
Label5.Caption = "X - любое число"
Label6.Caption = ""
ElseIf (b = 0) And (c <> 0) Then
Label5.Caption = "Нет решения"
Label6.Caption = ""
Else
Label5.Caption = "X = " & Format(-c / b, "Fixed")
Label6.Caption = ""
End If
Else
d = b * b - 4 * a * c
If d >= 0 Then
Label5.Caption = "X1 = " & Format((-b + Sqr(d)) / (2 * a), "Fixed")
Label6.Caption = "X2 = " & Format((-b - Sqr(d)) / (2 * a), "Fixed")
Else
Label5.Caption = "Нет действительных корней"
Label6.Caption = ""
End If
End If
Функция Sqr используется для вычисления квадратного корня числа. Символ & – операция сцепления строк (операция конкатенации). Она позволяет формировать строку из “кусочков”.
З адание 3.3
Создайте приведенную форму. На этой форме помещены следующие элементы: рисунок, счетчик, поле, полоса прокрутки и кнопка. Полоса прокрутки и счетчик используются для изменения ширины рисунка от 50 до 100. В текстовом поле выводится текущее значение ширины рисунка.
У элемента Рисунок установите значение свойства PictureSizeMode=2, тогда рисунок будет занимать всю поверхность объекта. Для счетчика и полосы прокрутки установите следующие значения свойств: Min=50, Max=100, LargeChange=10, SmallChange =10. Обработайте события Change и Scroll, текст процедур:
Private Sub ScrollBar1_Change()
TextBox1.Text = ScrollBar1.Value
Image1.Width = ScrollBar1.Value
SpinButton1.Value = ScrollBar1.Value
End Sub
Private Sub ScrollBar1_Scroll()
TextBox1.Text = ScrollBar1.Value
Image1.Width = ScrollBar1.Value
SpinButton1.Value = ScrollBar1.Value
End Sub
Private Sub SpinButton1_Change()
TextBox1.Text = SpinButton1.Value
Image1.Width = SpinButton1.Value
ScrollBar1.Value = SpinButton1.Value
End Sub
Private Sub UserForm_Initialize()
SpinButton1.Value = SpinButton1.Min
TextBox1.Text = SpinButton1.Value
Image1.Width = SpinButton1.Value
ScrollBar1.Value = SpinButton1.Value
End Sub
4.Реализация циклических алгоритмов Программирование циклов Цикл For…Next
Этот цикл применяют в тех случаях, когда заранее известно, сколько раз нужно выполнить инструкции. Синтаксис выглядит следующим образом:
For СчетчикЦикла = Старт То Стоп [Step Шаг]
Инструкции
Next [СчетчикЦикла]
В качестве счетчика цикла используется переменная. Числовые значения Старт и Стоп задают интервал, в котором будет изменяться переменная цикла. Необязательный параметр Шаг задает приращение счетчика цикла на каждом проходе, по умолчанию оно равно 1. Оператор Next изменяет счетчик цикла. В случае вложенных циклов рекомендуется указывать, к какому из них относится оператор Next, это достигается добавлением имени переменной цикла.Для досрочного выхода из цикла используется инструкция Exit For.