Математические функции

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

Наши рекомендации