Арифметические и логические операции Visual Basic

Основные математические действия производятся с помощью операций. В таблице представлены все математические и строковые операции в порядке убывания приоритета. Для обеспечения корректности вычисления операций в сложных формулах используют круглые скобки.

Операция Название
^ Возведение в степень
- Отрицание
Арифметические и логические операции Visual Basic - student2.ru * Умножение Равный
/ Деление приоритет
\ Деление нацело
Mod Вычисление остатка от деления
Арифметические и логические операции Visual Basic - student2.ru + Сложение Равный
- Вычитание приоритет
& Конкатенация (строк)

Р = principal*rate/(1 - (1/ (1+rate)^n))

Использование встроенных функций Visual Basic

Рассмотренные выше операции дают возможность осуществлять основные математические действия, более сложные вычисления производятся с помощью встроенных функций. Visual Basicоперирует этими функциями подобно Excel, с тем отличием , что они всегда возвращают единичное значение. Функции Excel могут применяться к целым массивам чисел и возвращать массивы в качестве результатов. Чтобы обработать массив значений с помощью функции Visual Basic, нужно применить эту функцию к каждому элементу массива в отдельности.

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

Функция Описание
Atn Возвращает арктангенс числа
Sin Возвращает синус угла в радианах
Cos Возвращает косинус угла в радианах
Tan Возвращает тангенс угла в радианах
Exp Возвращает е^х
Log Возвращает натуральный логарифм числа (основание е=2.71828…)
Sqr Возвращает квадратный корень числа
Randomize Инициирует генератор случайных чисел
Rnd Возвращает случайное число
Abs Возвращает абсолютную величину числа
Sgn Возвращает знак числа
Fix Округляет число отсечением дробной части
Int Округляет число до ближайшего меньшего целого

Математические функции, приведенные в таблице, обычно требуют в качестве аргумента единичное значение, некоторым образом его трансформируют и возвращают также одно число. Тригонометрические функции Sin ( ), Cos ( ), Tan ( ) применяются к углам в радианах и преобразовывают их в соответствующую тригонометрическую величину.

Строковые функции

Функция Описание
StrComp Сравнивает две строки
LCase Преобразовывает строку в нижний регистр
UCase Преобразовывает строку в верхний регистр
Space Создает строку пробелов
String Создает строку символов
Len Определяет длину строки
Instr Ищет подстроку
Lset Выравнивает строку по левому краю
Rset Выравнивает строку по правому краю
Str Преобразовывает число в строку
Val Преобразовывает строку в число


Пример:

В= «ЯнвФевМарАпрМайИюнИюлАвгСенОктНояДек»

Lсase, после преобразований:

B = «янвфевмарапрмайиюниюлавгсеноктноядек»

Uсase, после преобразований:

B = «янвфевмарапрмайиюниюлавгсеноктноядек»

Len (B), после вычислений B = 36

instr (B,"Июл"), после выполнения функции: B = 19

Операторы

Оператор присваивания

Оператор присваивания - это основа всех вычислений в VBA, так как любая рассчитанная величина должна стать переменной, чтобы ее можно было хранить. Знак «=» является оператором присваивания, который предписывает выполнить выражение, заданное в его правой части, и присвоить результат переменной, идентификатор которой расположен в левой части. В правой части располагается выражение в виде формулы, в качестве которой может выступать отдельная величина или выражение, состоящее из переменных, констант, операций и функций. Переменная, располагающаяся слева, может быть простой переменной, элементом массива или свойством объекта.

Примеры операторов присваивания:

Filename = " c:\vba\exampl.xls"

Sales = Units * Prise

Profit = Sales - Cost

Coords (3,2) = 19.37

Selection.Values = 25

Rang("B1") . Formula = "=B4*B3-1"

ActiveCell.FormulaR1C1 = "Таблица погашения ссуды"

ActiveWindow . ScrollRow = 1

Первые три оператора присваивают значениям переменным, четвертый присваивает значение элементу массива, а все остальные присваивают значения свойствам.

Таким способом нельзя присвоить значения только объектам - они требуют специального оператора присваивания. Например, приведенная ниже процедура создает объектную переменную, присваивает ей объект Rang, ссылающийся на ячейку В5, и затем использует эту объектную переменную для присваивания значений ячейке:

Sub ObjVar ()

dim theRang as Object

Set theRang = ActiveSheet.Range(‘B5’)

theRang.Value = 10

EndSub

Исключением является оператор присваивания « : = ». В отличие от ранее описанного оператора присваивания «=», он применяется только по отношению к параметрам процедуры.

Sub Assistant (a, b)

c = a + b

Msgbox Cstr (c)

End Sub

Sub Main( )

Assistant a:= 1, b:= 3

End Sub

В данном примере при вызове процедуры Assistant передача параметров осуществляется присвоением значений именам параметров с помощью оператора присваивания «:=». При выполнении данной процедуры переменной С присваивается значение суммы переданных параметров с использованием оператора присваивания «=».

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