Dim X(1 TO 5) As Integer, Y(1 To 10, 1 To 20) As Double

Здесь Х - одномерный массив, состоящий из 5 элементов целого типа, Y - двумерный массив, у которого 10 строк и 20 столбцов с элементами числового типа двойной точности.

Выражения

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

Виды операций

Операции бывают арифметические, отношения и логические:

– арифметические операции:
^ возведение в степень,
* умножение,
/ деление,
\ деление нацело,
mod остаток от деления,
+ плюс,
- минус;

– операции отношения:
< меньше,
> больше,
<= меньше или равно,
>= больше или равно,
= равно,
<> не равно;

– логические операции:
Not логическое отрицание,
And логическое "И",
Or логическое "ИЛИ".

Результатом логической операции может быть одно из двух значений:
True ("истина") или False ("ложь").

Приоритет выполнения операций

Если выражение содержит несколько операций, то приоритет их выполнения следующий:

1. Сначала выполняются арифметические операции

2. Далее операции отношения (они имеют одинаковый приоритет).

3. Последними выполняются логические операции в таком порядке, как они представл

Алфавит. Комментарии. Имена переменных. Операция присвоения. Математические операции. Операции присвоения. Логические операции.

Алфавит языка VBA

В него входят:

Прописные и строчные буквы латинского алфавита (A-Z, a-z);

Прописные и строчные буквы кириллицы (А-Я, а-я);

Цифры от 0 до 9;

Символы подчеркивания “_”.

Неизображаемыесимволы используемые для отделения слов друг от друг (пробел, табуляция, переход на новую строку);

Специальные символы,: + – * / \ ^ = >< [ ] ( ) . , : ; { } ‘ & @;

Составные символы,: <= , >= , <>.

Комментарии - для пояснения к тексту программы для пользователя, размещается на одной строке текста программы, начинается со знака «‘» или с зарезервированного слова Rem.

Имена переменныхдолжны удовлетворять правилам:

Первый символ обязательно буква.

Не использовать .!@&$# и пробел.

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

Длина не больше 255 символов, но иметь в виду, что VBA различает первые 31 символов от начала.

Имена не должны совпадать с зарезервированными словами VBA.

Имя не должны повторяться ни на одном уровне определения,

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

При объявлении переменной резервируется ячейка памяти согласно указанного типа и ничего туда не заносит. Чтобы переменная получила свое значение нужно использовать операцию присваивание. Присваивание имеет следующую синтаксическую конструкцию:ИмяПеременной = Значение

ИмяПеременной — имя переменной; символ « = » знак операции присваивания; Значение — числа, или комбинация переменных, констант

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

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

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

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

Result = 3^2 – результат 9;

Result = -3*2 – результат -6.

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

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

Лог.операц Результат
And(конъюнкция) True, обе одновременно принимают значения True, в остальных False
Or(дизъюнкция) False, обе перемен одновременно значения False; в остальных с True
Not(отрицание). Если переменная True, то результат False и наоборот
Xor   Если одна из связываемых переменных имеет зн. True, то результат True. Если обе переменных одинаковы, то результат False.
 

Процедуры ,процедуры-функции. Общие процедуры .Процедуры обработки событий .Объявление переменных

[Область видимости] SubИмя_Процедуры(Список_Параметров)

[раздел описаний (констант и переменных)]

тело процедуры (операторы)

EndSub

[Область видимости] –указывают Public, если процедура глобальная и доступна (видна) из других модулей, либо Private, если процедура локальная и доступна (видна) только внутри данного модуля и не может быть вызвана из других модулей. Sub – зарезервированное слово VBA объявляет начало процедуры, за ним задается имя_процедуры, в скобках указывается список параметров, передаваемых при вызове процедуры из программы (список параметров может отсутствовать). Список_Параметров – список переменных, передаваемых процедуре при вызове ее из другой процедуры: Имя_ПараметраAsТип_Данных, As –зарезервированное слово VBA указывает, что за ним следует тип переменной.[раздел описаний (констант и переменных)] –раздел описания констант и переменных.

Определение: константа — это поименованная область памяти для хранения данных, значение которым присваивается при определении константы; значения остаются посто­янными и не могут быть изменены во время выполнения программы.

Для определения констант служит зарезервированное слово Const.

Синтаксис описания констант:

ConstИмя_КонстантыAs Тип= значение

Например:

' Объявлена числовая константа для хранения

'значениячисла Pi

Const Pi As Single = 3.1415926

где Const(Константа) — зарезервированное слово, которое сообщает VBA, что декларируется константа и резервируется область памяти для ее хранения; Имя_Константы — имя константы, не входящее в перечень зарезервированных слов VBA; As(Как) — зарезервированное слово, которое сообщает VBA, что определяется тип данных константы; Тип — Тип_константы определяет размер памяти занимаемой константой (прил. 2, п.1.6, табл. 4). При наборе программы всреда редактора VBA после набора зарезервированного слова As раскрывается список типов объектов и базовые Типы_Дынных. Выбранный в списке Тип_Данных устанавливается двойным щелчком мыши, нажатием клавиши <Таb> или нажатием клавиши <Enter>. Определение: переменная — это поименованная область памяти для хранения данных, которые могут изменяться в процессе выполнения программы.

Поскольку в VBA имеются определенные соглашения по отношению имени и типа переменной, то во избежание путаницы типов данных, переменные необходимо описывать или декларировать. Синтаксис описания переменных: Dim [Static]Имя_Переменной[ AsТип]где Dim (Определить) — зарезервированное слово, которое сообщает VBA, что декларируется переменная и резервируется область памяти для ее хранения. Имя_Переменной — имя переменной, не входящее в перечень ключевых слов VBA. As(Как) — зарезервированное слово, которое сообщает VBA, что определяется тип данных для переменной. Тип — Тип_переменной определяет размер памяти занимаемой переменной (прил. 2, п.1.6, табл. 4). Static(Статический) — зарезервированное слово VBA, позволяет сохранить значение переменной между вызовами процедуры, в которой она объявлена, инструкция Staticиспользуется только на уровне процедуры.

Тело процедуры (операторы) – алгоритм записанный на языке VBA.

End Sub – операторная скобка, указывающая на конец процедуры. Каждому оператору Sub обязательно соответствуетEnd Sub.

Примечание: В разделе [раздел описаний (констант и переменных)]сначала описываются все константы, а затем все переменные.[раздел описаний (констант и переменных)]не является обязательным в процедурах.

Область видимости переменных и констант (три уровня):

1) До сих пор говорилось об описании констант и переменных внутри процедуры. Их также можно объявлять в верхней части модуля, которая называется областью общих объявлений. Область объявления переменных определяет область их видимости. Если переменная (константа) объявлена в процедуре, то процедура их видит и работает с ними, а другие процедуры не могут использовать эти переменные и их значения. Такие переменные называются локальными. В этом случае говорят, что переменная видна на уровне процедуры.

2) Для того чтобы значения определенных констант и переменных были доступны всем процедурам данного модуля, надо их объявить в области общих объявлений модуля (GeneralDeclarations), перед словом Dim поставить слово Private. Такие переменные и константы видимы на уровне модуля.

3) Для того чтобы переменные и константы модуля можно было использовать в любой процедуре любого модуля данного приложения, необходимо описать их как глобальные. Нужно помнить, что они находятся в оперативной памяти все время выполнения приложения и, следовательно, потребляют системные ресурсы. Глобальные переменные объявляются в области общих объявлений модуля, перед словом Dim ставится слово Public.

Аналогично описываются в области общих объявления модуля константы:

[Public|Private]ConstИмя_КонстантыAsТип= значение

Но если в верхней части окна модуля есть оператор OptionExplicit, то необходимо описать все переменные и константы.

Инструкция OptionExplicit в секции General находится в модуле до всех процедур.При использовании инструкции OptionExplicit необходимо явно описать все переменные с помощью инструкций Dim, Private, Public, ReDim или Static. При попытке использовать неописанное имя переменной возникает ошибка во время компиляции

Процедуры обработки событий (Процедура_Событие)

Событие (event) – это действие над объектом (например: нажатие командной кнопки, выполнение директивы меню, открытие или закрытие таблицы Excel и т.п.) Имя Процедуры_События состоит из имени объекта и действия (События), которые объединяются символом подчеркивания “_”.

Синтаксис Процедуры_События:

PrivateSubИмяОбъекта_Событие ( )

тело процедуры (операторы)

EndSub

Общее между общей процедурой и Процедурой_События зарезервированное слово Sub. Принципиальное отличие общей процедуры от Процедуры_События заключается в том, что для общей процедуры имя подбирает пользователь,адляПроцедуры_События имя создаётся средойVBA

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

Примеры Значение
Abs(x) Возвращает модуль x
Cos(x) Возвращает кос x, заданного в рад.
Sin(x) Возвращает синx, заданного в рад
Sqr(x) Возвращает квадратный корень x
Rnd[(x)] Возврат псевдослучайное число одинарной точности в интервале от0 1.
Int(x) Возвращает выделенную целую часть x
Tan(x) Возвращает тангенс числа x
Atn(x) Возвращает арктангенс числа x в радианах
Exp(x) Возвращает возведения e в указанную степень , где e – основание in
Log(x) Возвращает значение inx

21)условный оператор if…then

If ... Then — линейный и блочный.

Линейный оператор чтобы выполнить какой-либо один оператор, если некоторое условие будет истинным.

Синтаксическая конструкция

If<Условие>Then<Оператор_1>Else<Оператор_2>

При значении Условия = True выполняется Оператор_1, следующий засловом Then, а затем следующий за условным оператор. Если Условие принимает значение False, то выполняется следующий за Else оператор Оператор_2. Else может отсутствовать, тогда оператор называется безальтернативным и, если Условие= True, то выполняется Оператор_1, а затем следующий за условным оператор. Если Условие= False, а выполняется следующий оператор.

Блочный оператор имеет синтаксис:

If<Условие_1>Then

<Операторы_1, если Условие=True>

[ElseIf<Условие_2>Then

<Операторы_2, если Условие_2=True>]

[ElseIf<Условие_3>Then

<Операторы_3, если Условие_3=False>]

[Else

<Операторы>]

EndIf

<Условие_1> – необходимая часть оператора, это то Условие, которое должно проверяться. Если значение этого условия True, то выполняется Операторы_1 следующие за словом Then. Если необходимо проверить еще условия, то добавляется зарезервированное слово ElseIf с последующим условием. Если Условие_2=True, то выполняются Операторы_2. Если необходимы еще условия, то добавляются еще структура ElseIf и если все Условия не выполняются, то выполняются Операторы следующие за словом Else.

Операторы If могут быть вложенными друг в друга. Такое вложение операторов применяется, если нужно проверить какое-либо условие при другом условии, которое является True и включить альтернативу Else.

Задача 6 (алгоритм ветвления) Найти наибольшее из трех чисел a,b и c. Составить программу.

Решение

Дано: три числа a, b, c.

Найти: наибольшее из трех чисел.

Набирать процедуру на месте курсора:

Private Sub CommandButton1_Click()

Dim a, b, c As Single

Dim max As Single

’Вводданных

a = Range("A1").Value

b = Range("B1").Value

c = Range("C1").Value

’Вычисление

If a > b And a > c Then

max = a

Else

If b > c Then

max = b

Else

max = c

End If

EndIf

’Вывод результатов в ячейку B4

Range("B4").Value = "Максимальное число = " &max

EndSub

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