16339

Функции в VBA

Лекция

Информатика, кибернетика и программирование

Функции в VBA В VBA используются следующие виды функций: математические встроенные функции; математические функции не представленные в VBA; функции форматирования данных; функции преобразования типов Математические встроенные функции ...

Русский

2013-06-20

131.5 KB

91 чел.

Функции в VBA

В VBA используются следующие виды функций:

- математические встроенные функции;

- математические функции, не представленные в VBA;

- функции форматирования данных;

- функции преобразования типов

Математические встроенные функции

Функция

Возвращаемое значение

Abs (x)

- абсолютная величина числа

Atn (x)

arctg (x) – арктангенс от значения параметра, заданного в радианах

Sin (x)

sin (x) – возвращает синус угла от значения параметра, заданного в радианах

Cos (x)

cos (x) – косинус указанного в радианах угла

Tan (x)

tg (x) – возвращает тангенс угла от значения параметра, заданного в радианах

Exp (x)

ex – возвращает число e, возведенное в указанную степень, где е – основание натурального логарифма

Log (x)

ln (x) – возвращает натуральный логарифм от значения числового выражения

Sqr (x)

- возвращает квадратный корень числового выражения

Rnd (x)

Случайное число из интервала [0,1). Перед вызовом функции надо использовать оператор Randomize (рандомизации) – запуск генератора псевдослучайных чисел)

Sgn (x)

Возвращает +1, если значение параметра положительно,

-1, если отрицательное,

0, если 0

Fix (x)

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

Int (x)

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

Математические функции, не представленные в VBA

Функция

Возвращаемое значение

Log(X)/Log(10)

lg(х) – возвращает десятичный логарифм от значения числового выражения

Atn

arcsin (x) – возвращает арксинус угла от значения параметра, заданного в радианах

Atn

arccos (x) – возвращает арккосинус угла от значения параметра, заданного в радианах  

Cos (x)/Sin (x)

ctg (x) - возвращает котангенс угла от значения параметра, заданного в радианах

Значение числа π

Pi = 4 * Atn (1)


Функция форматирования данных

Для того чтобы представить выражение отформатированным в специфицированном формате, необходимо воспользоваться функцией Format. Она возвращает значение типа Variant (String), содержащее выражение, отформатированное согласно указанным спецификациям.

Синтаксис:

Format (выражение [ , «Имя формата (или символ формата)»])

Именованные числовые форматы

Имя формата

Описание

General Number

Число без разделителя тысяч

Currency

Отображает две цифры справа от десятичной точки

Fixed

Отображает одну цифру слева и две справа от десятичной точки

Standard

Отображает одну цифру слева и две справа от десятичной точки и выводит разделитель тысяч

Percent

Отображает число в виде процентов и выводит две цифры справа от десятичной точки

Scientific

Использует формат с плавающей десятичной точкой

Yes/No

Отображает No, если число равно 0, и Yes – в противном случае

True/False

Отображает False, если число равно 0, и True – в противном случае

On/Off

Отображает Off, если число равно 0, и On – в противном случае

Пользовательские числовые форматы

Символ

Описание

0

Резервирует позицию цифрового разряда. Отображает цифру или нуль. Если у числа, представленного параметром, есть какая-нибудь цифра в той позиции разряда, в которой в строке формата находится 0, функция отображает эту цифру параметра, если нет – в этой позиции отображается нуль.

Пример. Debug.Print Format (1.2 ^2, “##.000”)

#

Резервирует позицию цифрового разряда. Отображает цифру или ничего. Если у числа, представленного параметром, есть какая-нибудь цифра в той позиции разряда, в которой в строке формата находится #, функция отображает эту цифру параметра, если нет – в этой позиции ничего не отображается. Пример. Debug.Print Format (1.2 ^2, “##.###”)

. (точка)

Резервирует позицию десятичного разделителя. Указание точки в строке формата определяет, сколько разрядов необходимо отображать слева и справа от десятичной точки.

E+,E-, e+, e-

Разделитель мантиссы и порядка в экспоненциальном формате.

Пример. Debug.Print Format (sin(x) * exp(5), “#.###e+##”)

%

Резервирует процентное отображение числа

Пример. Debug.Print Format (0.5, «#.%») (отобразится 50 %)

d,m,y 

Резервирует позицию при выводе дня, месяца, года в категории форматов Data

Пример. Debug.Print Format (Now, “dd/mm/yyyy”) (отобразится текущая дата, например 25.09.2005

/

Разделитель дня, месяца, года в категории форматов Data


Функции преобразования типов

Функция

Описание

Val (String)

Возвращает число, содержащееся в строке string, как числовое значение (Val от англ. Value – значение, String – строка)

Str (number)

Возвращает значение типа Variant (String), являющееся строковым представлением числа number.

В качестве допустимого десятичного разделителя функция Str воспринимает только точку.

CStr (Выражение)

Возвращает числовое выражение или строку в строку

CInt (Выражение)

Возвращает числовое выражение или строку в число типа Integer

CSng (Выражение)

Возвращает числовое значение или строку в число типа Single

Операторы, выражения и операции

Строка с кодом в исходном тексте программы VBA называется программным оператором.

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

Label1.Caption = Time

Правила, применяемые при построении программных операторов, называются синтаксисом.

Программный оператор может включать выражения.

Выражение (Expression) – это комбинация знаков операций и операндов, а также скобки. Назначение любого выражения – получение некоторого значения.

Синтаксическая конструкция выражения:

Операнд1 [операция Операнд2 [операция Выражение]]

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

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

Каждая операция имеет свой приоритет (ранг). Операции ранга 1 имеют наивысший приоритет и в программном операторе выполняется первым. Операции одного ранга в выражениях выполняются в соответствии с правилами ассоциативности (слева направо или наоборот).

Приоритеты операций

Приоритет

Операция

1

Выражение, заключенное в скобки ()

2

Вызов функции

3

Степень (^)

4

- (смена знака)

5

(*) и (/)

6

(\) деление нацело

7

Mod (остаток от деления нацело)

8

(+) и (-)

9

>, <, >=, <=, <>, =

10

Not

11

And

12

Or

Операнды связаны между собой знаками операций

В программах на VBA можно использовать стандартный набор операций над данными. Различают следующие типы операций:

- операция присваивания;

- математические, выполняются над числами и их результатом являются числа;

- отношения, применяются не только к числам, и их результатом являются логические значения;

- логические операции;

- строковые операции.

Операция присваивания

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

Назначает результат вычисления выражения переменной, константе или свойству объекта. Операция присваивания всегда включает знак равенства =.

Синтаксис:

Имя_Переменной  =  Выражение

где

Имя_Переменной – имя переменной (идентификатор);

         Символ «=» – знак операции присваивания;

          выражение – значение (число), комбинация переменных, констант,  

                                 функций, связанных знаками операций.

Работа операции присваивания.

Операция присваивания предписывает выполнить выражение, заданное в его правой части, и присвоить результат имени переменной, имя которой указано в левой части.

Пример 1.

x = 2

x = x + 2

(переменной х будет присвоено 4)

Для присваивания переменной ссылки на объект применяется инструкция Set.

В общем случае инструкция Set имеет следующий синтаксис:

Set objectvar = [New] objectexpression [Nothing]

где

New – ключевое слово, которое используется при создании нового экземпляра объекта;

Nothing – позволяет освободить все системные ресурсы и ресурсы памяти, выделенные для объекта, на который имелась ссылка (т.е. она удаляет объект из памяти).

Пример 2.

Dim A as Object

Set A = cmdOK

MsgBox А.Caption

Инструкция Set присваивает переменной А элемент управления Кнопка с именем cmdOK и далее выводит в окне надпись отображаемую на поверхности кнопки.

Математические операции

Математические операции применяются для записи формул.

Формула представляет собой программный оператор, содержащий числа, переменные, операторы и ключевые слова или же комбинацию этих элементов и вычисляющий новое значение. Список математических операций VBA и их рангов приведен в таблице 8.

Операции сложения, вычитания, умножения и деления называют основными математическими операциями и пояснений не требуют.

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

Математические операции

Операция

Математическое действие

[Операнд1] + [Операнд 2]

Сложение

[Операнд 1] – [Операнд 2]

Вычитание

-[ Операнд 1]

Изменение знака числа

[Операнд 1] * [Операнд 2]

Умножение

[Операнд 1] / [Операнд 2]

Деление

[Операнд 1] \ [Операнд 2] 

Целочисленное деление

[Операнд 1] mod [Операнд 2]

Остаток от деления по модулю

[Операнд 1] ^ [Операнд 2]

Возведение в степень

Rezult = 10\3 – результат 3 (целая часть от деления);

Rezult = 10 mod 3 – результат 1 (остаток от деления);

Rezult = 9 ^ 0.5 – результат 34

Rezult = 2 ^ -2 – результат 0.25

Общие правила применения математических операций:

Синтаксис:

Rezult  = Операнд1  Операция  Операнд2 … Операция  ОперандN  

где

Rezult – переменная, содержащая результат выполнения оператора;

Операнд1, Операнд2, …, ОперандN – переменные, константы, числовые значения, функции.

Операции отношения

В отличие от математических операций, результатом выполнения которых может быть любое значение, операция отношения может иметь только два результирующих значения – True (Истина) и False (Ложь), которые могут быть присвоены переменным типа Boolean или определенному свойству объекта.

Операции отношений в VBA

Операция

Описание

выражение1 > выражение2 

Больше. Результат -  True, если первый операнд больше второго

выражение1 >=  выражение2

Больше или равно. Результат -  True, если первый операнд больше или равен второму

выражение1 < выражение2

Меньше. Результат -  True, если первый операнд меньше второго

выражение1 <= выражение2

Меньше или равно. Результат -  True, если первый операнд меньше или равен второму

выражение1 <> выражение2

Не равно. Результат -  True, если первый операнд не равен второму

выражение1 = выражение2

Равно. Результат -  True, если первый операнд равен второму

Операции отношения применяются для записи выражений условия, результатом выполнения которых являются значения True (Истина) или False (Ложь).

Операции отношения

Выражение условия

Результат

25 <> 30

True (25 не равно 30)

25 < 30

True (25 меньше 30)

25 > 30

False (25 не больше 30)

TextBox1.Text = «Петров»

True, если слово Петров является содержимым первого текстового поля, а в противном случае - False

Number >= 100

True, если переменная Number содержит значение не меньше 100, в противном случае False

Логические операции

Логические операции применяются в логических выражениях. Если существует несколько условий выбора в операциях отношения, то эти операции связываются между собой логическими операциями. Логические операции VBA приведены в таблице 11.

Логические операции VBA

Операция

Описание

(Операнд1) AND (Операнд 2)

Логическое умножение. Возвращает True тогда, когда только оба операнда возвращают True

(Операнд 1) OR (Операнд 2)

Логическое сложение. Возвращает True тогда, когда хотя бы один операнд возвращает True

Not [Операнд]

Если условие имеет значение True, то результирующим значением будет False. Если условие имеет значение False, то результирующее значение будет True

[Операнд1] Xor [Операнд2]

Если только одно из связываемых условий имеет значение True, то результирующее значение также будет True. Если оба условия имеют одинаковые значения, то результирующее значение будет False

Строковые операции

В VBA есть только одна операция для работы со строками – это операция конкатенации. Конкатенация позволяет объединить значения двух или нескольких строковых переменных или строковых констант. Знаком операции конкатенации является символ амперсанд (&). При конкатенации строк значение второй строки добавляется в конец первой. Результатом операции является более длинная строка, составленная из исходных строк.

Синтаксис:

strВыражение_1 & strВыражение_2 [… & strВыражение_N]

где

strВыражение – строковые выражения, которые могут быть любыми допустимыми строками (строковыми переменными, строковыми константами или функциями обработки строк).

“&” - знак между строковыми выражениями указывает, что производится конкатенация этих выражений. Он отделяется от выражения пробельными символами. В одном операторе может объединить любое количество строковых выражений.

Пример 1.

strMy = “Visual” & “Basic for Applications”

Примечание. Здесь объединяются две неименованные строковые константы. Результатом операции конкатенации будет значение Visual Basic for Applications).


 

А также другие работы, которые могут Вас заинтересовать

42783. Розрахунок геометричних розмірів та втрат тепла теплової мережі, яка складається з котла теплотраси та теплообмінного апарату 743.07 KB
  Теплообмін – це енергетичний обмін між об’єктами, які взаємодіють між собою в системі, що розглядаються, необхідною і достатньою умовою якої є різниця температур даних областей. Місцевим результатом теплообміну є вирівнювання різниці температур
42784. Методология и методика социологического исследования 116.79 KB
  Теоретико-методологические основы социологического анализа социального самочувствия Показатели и способы изучения социального самочувствия 14 Опыт исследования социального самочувствия
42785. Создание венецианской маски в 3Ds Mx 3.3 MB
  Например это: Рисунок 1Бокал Очевидно что бокал имеет ось симметрии и его можно получить вращая сплайн. Создаём Plneплоскость в окне Front и присваиваем ей материал с данной текстурой бокала получаем такой результат: Рисунок 2заготовка Plne Обводим контур нашего бокала только половину. Должен получиться подобный сплайн: Рисунок 3 На рисунке 3 отмечены две точки начало и конец сплайна. Модель бокала в перспективе должна выглядеть примерно так...
42786. Монетарная политика в рыночной системе и функции Центрального Банка 2.99 MB
  Основные концепции денежнокредитной политики государства. Неоклассическая теория как одна из основ денежнокредитного регулирования. Кейнсианская теория денежнокредитного регулирования. Неоконсервативный подход монетаризм в денежнокредитном регулировании.
42787. Автоматические промышленные средства испытаний изделий на прочность и надежность при воздействии линейных ускорений 521.59 KB
  Точность поддержания ускорения существенно влияет на выбор конструкции и определяет точность изготовления отдельных узлов центрифуги. Факторы влияющие на измерение: изменение температуры окружающей среды отклонение стола от горизонтальной плоскости скорость нарастания ускорения изменение ускорения по площади изделия вибрация возникающая в системе привода центрифуги изменение длины плеча при изменении скорости центрифуги. В процессе разгона центрифуги кроме центробежных сил определяющих линейное ускорение возникают силы инерции...
42788. ПРОФИЛЬ ДОРОЖНОЙ ТРАССЫ. ПОСТРОЕНИЕ ПРОФИЛЯ ДОРОЖНОЙ ТРАССЫ 202.05 KB
  Вычисление координат пунктов замкнутого теодолитного хода. Вычисление координат вершин диагонального теодолитного хода. Вычисление отметок съёмочных точек замкнутого хода. Построение прямоугольной сетки и теодолитного хода Нанесение на план съемочных пикетов пикетных точек.
42789. Анализ и диагностика финансово-хозяйственной деятельности предприятия ОАО «ТНК-ВР Холдинг» 119.62 KB
  Орджоникидзе Кафедра Управление предприятиями МСК Курсовая работа по дисциплине Анализ и диагностика финансовохозяйственной деятельности предприятия на тему: Анализ и диагностика финансовохозяйственной деятельности предприятия ОАО ТНКВР Холдинг Выполнила: студентка группы ЭГ09 Тутарова...
42790. Усовершенствование организационной структуры ООО «Тез Тур» 127.59 KB
  Анализ организационной структуры управления на примере ООО Тез Тур. Организация управления выступает как один из факторов трансформации экономики через нее реализуется действие объективных законов функционирования рынка; она является организационным началом всей системы факторов радикальной реформы управления экономикой. Ключевой проблемой в организации управления является структура управления оргструктура. Зная структуру можно целенаправленно воздействовать на состав и содержание отдельных элементов...
42791. Индексный метод изучения динамики среднего уровня цен 376.43 KB
  Сущность цены и ее виды 4 Индексный метод изучения динамики среднего уровня цен 6 Формулы индекса цен Пааше и Ласпейреса 6 Идеальная формула цен Фишера 9 Система индексов цен 10 Использование индексного метода 10 Использование выборочного метода для расчета индексов цен 12 Расчетная часть 14 Задание 1 14 Задание 2 19 Задание 3 21 Задание 4 22 Аналитическая часть 24 Заключение 27 Список использованной литературы 28 Введение Так как в практике статистики индексы наряду со средними величинами...