16339

Функции в VBA

Лекция

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

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

Русский

2013-06-20

131.5 KB

93 чел.

Функции в 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).


 

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

48204. Системи технологій промисловості. Стислий конспект лекцій 662 KB
  Перші зайняті видобутком природної сировини вугілля торфу природного газу руд чорних і кольорових металів другі переробкою продукції видобувних галузей промисловості та сільського господарства. Пальна мінеральна сировина це вугілля нафта торф пальні сланці природний газ і т. Якщо збагачуються тверді породи наприклад гірські породи вугілля то отриманий продукт збагачений корисною складовою частиною називають концентратом а відходи що містять порожню породу хвостами. Оцінка якості вугілля складається з 19 нормованих...
48205. Страхование. Конспект лекций 982 KB
  В книге рассмотрены основные понятия принципы и виды страхования положения договора страхования порядок осуществления страховых выплат а так же другие вопросы страховой деятельности. Оглавление ЛЕКЦИЯ № 1 Общие положения о страховании ЛЕКЦИЯ № 2 Основные понятия страхования ЛЕКЦИЯ № 3 Общие положения о договоре страхования ЛЕКЦИЯ № 4 Страховая выплата ЛЕКЦИЯ № 5 Характеристика видов личного страхования ЛЕКЦИЯ № 6 Имущественное страхование ЛЕКЦИЯ № 7 Страхование ответственности ЛЕКЦИЯ № 8 Обязательное страхование ЛЕКЦИЯ № 9 Обязательное...
48206. Страховое право. Конспект лекций 850.5 KB
  Оглавление ЛЕКЦИЯ № 1 Страховое право в системе права Российской Федерации ЛЕКЦИЯ № 2 Структура и элементы страхового права ЛЕКЦИЯ № 3 Риск как источник возникновения страховых отношений ЛЕКЦИЯ № 4 Характеристика отдельных видов страхования ЛЕКЦИЯ № 5 Страховые организации и контроль за ними ЛЕКЦИЯ № 6 Страховые суммы и страховые выплаты ЛЕКЦИЯ № 7 Договор страхования ЛЕКЦИЯ № 8 Особенности страхования отдельных объектов ЛЕКЦИЯ № 9 Особенности правового регулирования страхования за рубежом ЛЕКЦИЯ № 1 Страховое право в системе права Российской...
48207. Страхування. Конспект лекцій 597 KB
  Конспект лекцій з дисципліни Страхування†для студентів спеціальності 6. Вступ 4 Сутність принципи і роль страхування 5 Класифікація страхування 13 Страхові ризики та їх оцінка...
48208. Стрічкові конвеєри 1.12 MB
  До недоліків цих конвеєрів відносяться : їх висока вартість невеликий термін служби стрічки обмежений кут нахилу. Обмеження кута підйому при використанні нормальної гладкої стрічки до 16 20 в залежності від властивостей транспортування матеріалу і конструкції роликового ставу. Рух тягового органу стрічки конвеєра здійснюється за рахунок фрикційного звязку стрічки з приводним барабаном. За розташуванням несучої гілки стрічки: з верхньою несучою гілкою основний тип;...
48209. СУДОВІ ТА ПРАВООХОРОННІ ОРГАНИ УКРАЇНИ 1.6 MB
  Курс лекцій СУДОВІ ТА ПРАВООХОРОННІ ОРГАНИ УКРАЇНИ За загальною редакцією доктора юридичних наук професора заслуженого діяча науки і техніки Є. Одним з важливих напрямів державної діяльності суверенної та незалежної України є правоохоронна діяльність яка спрямована на забезпечення принципу верховенства права в суспільстві. Завдання правоохоронної діяльності полягає в захисті встановленого Конституцією України суспільного ладу держави економічної та політичної систем прав і законних інтересів громадян підприємств установ організацій...
48212. Фінанси курс лекцій 3.08 MB
  Грошовий характер фінансів — важлива ознака фінансів. Гроші є обовязковою умовою існування фінансів. Фінанси – це грошові відносини, які виникають у процесі розподілу та перерозподілу вартості валового суспільного продукту і частини національного багатства у звязку з формуванням грошових прибутків та нагромаджень у субєктів господарювання і держави та використанням їх на поширене відтворення, матеріальне стимулювання робітників, задоволення соціальних та інших потреб суспільства.