Математические функции
Visual Basic for Applications (VBA) для Excel.
Оглавление
Оглавление .........................................................................................................................1
Переменные. Именование.................................................................................................1
Массивы..................................................................................................................... .....1
Инструкции VBA...............................................................................................................2
Оператор присвоения .......................................................................................................2
Перенос строки .................................................................................................................2
Комментарии......................................................................................................................3
Расположение нескольких операторов на одной строке ..............................................3
Операции ............................................................................................................................3
Операции отношения ........................................................................................................3
Условие IF .........................................................................................................................4
Логические операции .......................................................................................................4
Другие операции................................................................................................................4
Математические функции.................................................................................................4
Функции преобразования форматов ...............................................................................5
Функции обработки строк................................................................................................5
Цикл ...................................................................................................................................6
Взаимодействие с Excel ....................................................................................................7
Создание функции (Function) ..........................................................................................7
Создание процедуры (Sub)...............................................................................................8
Пример задач....................................................................................................................10
Переменные. Именование
В VBA пользователь определяет имена переменных, функций, процедур,
типов, постоянных и других объектов. Вводимые пользователем имена должны
отражать суть обозначаемого объекта так, чтобы делать программу легко читаемой.
В VBA имеются следующие ограничения на имена:
1. Длина имени не должна превышать 255 символов.
2. Имя не может содержать точек, пробелов и следующих символов: %, .&,
!, #, @, $.
3. Имя может содержать любую комбинацию букв, цифр и символов, начинающуюся
с буквы (допускается использование русских букв, однако могут возникать
проблемы при переносе на нерусифицированные компьютеры).
4. Имена должны быть уникальны внутри области, в которой они определены.
5. Не следует использовать имена, совпадающие с ключевыми словами VBA и
именами встроенных функций и процедур.
6. Регистр букв (верхний или нижний) в имени не имеет значения, но умелое его
использование может облегчить понимание содержания переменной.
Основные типы переменных
• Строковые (имеют окончание $), например: string$
• Числовые, например: numberOne
Массивы
Объявление массива происходит следующим образом:
Visual Basic for Applications (VBA) для Excel
Dim A(12) – объявляет одномерный массив (вектор) из 12 чисел, причем по умолчанию
первый элемент массива будет А(0), а последний А(11).
Dim A(l To 12) – объявляет массив (вектор) из 12 чисел от А(1) до А(12).
Иногда в процессе выполнения программы требуется изменять размер
массива. В этом случае первоначально массив объявляют как динамический. Для
этого при объявлении массива не надо указывать размерность, например:
Dim R()
В программе следует вычислить необходимый размер массива и связать его с
некоторой переменной, например n, затем изменить размер динамического массива с
помощью оператора ReDim.
ReDim R(n)
Допустимо повторное использование инструкции ReDim для изменения
числа элементов и размерностей массива.
Инструкции VBA
Инструкция VBA представляет собой полную команду языка VBA. Она
может содержать ключевые слова, операторы, переменные, константы и выражения.
В VBA имеются следующих три категории инструкций:
• Инструкции описания
• Инструкции присвоения
• Исполняемые инструкции
Оператор присвоения
Оператор присвоения присваивает значение выражения переменной,
константе или свойству объекта. Оператор присвоения всегда включает знак
равенства (=).
Переменная (или Постоянная или Свойство Объекта) = Выражение
Оператор присвоения предписывает выполнить выражение, заданное в его
правой части, и присвоить результат переменной, имя которой указано в левой
части. В результате выполнения следующего блока операторов
х = 2
х = х + 2
переменной х будет присвоено 4.
Перенос строки
Расположение символов (пробел) + (Знак подчеркивания) в конце строки
обеспечивает то, что последующая строка является продолжением предыдущей. При
этом надо помнить, что:
• нельзя разбивать переносом строковые константы;
• допустимо не более семи продолжений одной и той же строки;
• сама строка не может состоять более чем из 1024 символов.
c = +_
Int(x)
Visual Basic for Applications (VBA) для Excel
Комментарии
Работая с программой, удобно использовать комментарии, т. е. фрагменты
текста программы, не являющиеся программными кодами и игнорируемые
компилятором. Комментарии выполняют две важные функции:
1. Делают программу легко читаемой, поясняя смысл программных кодов и
алгоритма.
2. Временно отключают фрагменты программы при ее отладке. В языке VBA
существуют два способа ввода комментариев:
• Применение апострофа '. Его можно ставить в любом месте строки. При этом все
символы, начиная от апострофа до конца строки, будут восприниматься
компилятором как комментарий.
• Применение зарезервированного слова Rem вместо апострофа.
Ниже приведен пример использования комментариев в тексте программы:
Dim students$(20)
' students$ — массив строковых переменных
Rem от students$(0) до students$(19)
Расположение нескольких операторов на одной строке
Использование знака двоеточия позволяет разместить несколько операторов
на одной строке. Таким образом, следующие две конструкции эквивалентны:
х = х + 1
у = х + 2
х = х + 1:у = х + 2
Операции
A=3 : B=5
A+B Сложение 8
A – B Вычитание -2
- A Перемена знака -3
A * B Умножение 15
A/ B Деление 0,6
A \ B Целочисленное деление 0
A Mod B Остаток от деления по модулю 3
A ^ B Возведение в степень 243
Операции отношения
A < B Меньше True
A > B Больше False
A <= B Меньше или равно True
A >= B Больше или равно False
A <> B Не равно True
A = B Равно False
Visual Basic for Applications (VBA) для Excel
Условие IF
Синтаксис:
If выражение Then
инструкции
[Elself выражениеДругое Then
[инструкции_elseif]]
[Еlse
[инструкции_elseif ]],
End If
Пример:
test = True Or False
If test = True Then
result$ = "Правда"
ElseIf a = False Then
result$ = "Ложь"
Else
result$ = "Никогда не будет присвоено"
End If
По результатам выполнения этого кода result$ будет равно "Правда"
Логические операции
Используются в конструкции If в качестве Выражения
A1=A>B : B1=B>A
A1 And B1 Логическое умножение False
A1 Or B1 Логическое сложение True
A1 Хоr B1 Исключающее or (или) True
Not A1 Логическое отрицание True
Другие операции
"сдать" & "зачет" Сложение строк. Для
сложения строк допустимо
использование операции
"сдать" + "зачет" , но
предпочтительнее, во
избежания путаницы,
применять операцию со
знаком &
"сдатьзачет"
Математические функции
Abs (A) Модуль (абсолютная
величина)числа
Cos (A/3) Косинус 0,540302
Sin (A/3) Синус 0,841471
Ехр (A) Экспонента, т. е. результат 20,08554