- •Основы vba
- •Алфавит языкаVba
- •Имя переменной
- •Объявление переменных
- •Оператор описания переменных
- •Dim a As Integer
- •Знаки операций
- •Математические функции
- •Оператор присваивания
- •Ввод данных
- •Оператор вывода
- •Линейный процесс
- •Программный код
- •Оператор условного перехода
- •Операторы цикла
- •Оператор цикла с параметромFor–Next
- •Оператор выбораSelectCase
- •Начисление комиссионных
- •Оператор цикла с предусловием While – Wend
- •Оператор цикла Do – Loop
- •Массивы
- •Вывод массива
- •Вычисление суммы, произведения и количества элементов в одномерном массиве
- •Вычисление минимального и максимального элементов в одномерных массивах
- •Двумерные массивы
- •Ввод двумерного массива
- •Вывод двумерного массива
- •Формирование матрицы
- •Вычисление суммы, произведения, количества, минимума и максимума в двумерных массивах
- •Подпрограммы
- •Подпрограмма-процедура
- •Локальные и глобальные параметры (переменные)
- •Формальные и фактические параметры
- •Параметры, передающиеся по значению
- •Подпрограмма-функция
Математические функции
В VBA, как и в других приложенияхMicrosoftOffice, есть встроенные математические функции. Эти функции можно использовать в арифметических выражениях для вычисления, например, целой части числа, модуля числа, синуса числа и др. Основные математические функции, используемые вVBA, приведены в табл. 4.
Таблица 4
Математические функции VBA
Функция |
Значение |
Abs(число) |
Абсолютное значение числа (модуль) |
Atn(число) |
Арктангенс числа |
Cos(число) |
Косинус числа |
Exp(число) |
Число e в степени, равной заданному числу (eх) |
Int(число) |
Целая часть числа. возвращает ближайшее меньшее целое |
Log(число) |
Натуральный логарифм числа |
Rnd |
Случайное число, значение одинарной точности |
Sin(число) |
Синус числа |
Sqr(число) |
Квадратный корень из числа |
Tan(число) |
Тангенс числа |
Оператор присваивания
Оператор присваивания приписывает переменным или свойствам объектов конкретные значения. Такой оператор всегда состоит из трех частей: имени переменной или свойства, знака равенства и выражения, задающего нужное значение.
Имя переменной =Выражение
Пример
A= 2
C = A
SUMMA = A + C
Ввод данных
Для составления программ необходимо в память ЭВМ ввести данные. Вводить данные можно тремя способами.
При помощи оператора присваивания.
Пример
a = 2
b= 4.5
При помощи оператора считывания InputBox(“Сообщение”).
Данный оператор выводит на экран диалоговое окно, содержащее сообщение и поле ввода, устанавливает режим ожидания ввода текста пользователем или нажатия кнопки, а затем возвращает значение типа String, содержащее текст, введенный в поле.
Пример
A=InputBox(“Введите А”)
На экране появится диалоговое окно (рис. 2).
Если оператор оставить в таком виде, то переменной А присвоится значение символа “2”, а не числа 2.
Рис. 2. Стандартное окно ввода
Для преобразования символа в число будем использовать функцию Val (Строка), которая возвращает число, содержащееся в строке, как числовое значение соответствующего типа.
Если мы запишем A = Val (InputBox (“Введите А”))и в поле ввода введем число 2, то переменной А присвоится значение числа 2.
Считывание данных с листа рабочей книги Excel.
Пример
А = Сells(1, 1)
После выполнения этого оператора переменной А присвоится значение, которое хранится в ячейке, находящейся в первой строке (первая цифра) и в первом столбце А (вторая цифра), т.е. в ячейке А1 электронной таблицы. Таким образом, при обозначении адреса ячейки на первом месте указывается номер строки, а на втором – номер столбца ячейки.
Оператор вывода
Вывод информации в VBAосуществляется с помощью оператора вывода.
MsgBox (Список аргументов)
Этот оператор выводит на экран диалоговое окно, содержащее сообщение, устанавливает режим ожидания нажатия пользователем кнопки, а затем возвращает в программу.
Пример
MsgBox(“Значение А=” &A)
В результате на экране появится следующее диалоговое окно (рис. 3).
Рис. 3. Стандартное окно вывода
В операторе можно выводить значения нескольких переменных.
Пример
MsgBox(“Значение А=” &A& “, значение В=” &B)
Символ “&” в операторе означает слияние в одну строку всех символьных строк, записанных в скобках.