Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VBA встроенные функции.docx
Скачиваний:
8
Добавлен:
11.12.2018
Размер:
110.31 Кб
Скачать

3.3. Инструкции vba

Инструкция VBA представляет собой полную команду языка VBA. Она содержит ключевые слова, операторы, переменные, константы и выражения. Имеются следующие три категории инструкций: 1) описания; 2) присвоения; 3) исполняемые инструкции.

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

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

Синтаксис:

[Let] Переменная (или постоянная или свойство объекта)=Выражение.

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

х =2

х = х+2

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

Для присвоения переменной ссылки на объект применяется инструкция Set. В следующем примере инструкция Set присваивает переменной область диапазон А1:В3: Set Область =Range (“А1:В3”).

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

Set объектнаяПеременная={[New] объектноевыражение |Nothing}.

Ключевое слово New используется при создании нового экземпляра класса; ключевое слово Nothing позволяет освободить все системные ресурсы и ресурсы памяти, выделенные для объекта, на который имелась ссылка (иначе говоря, она удаляет объект из памяти).

Перенос строки

Расположение символов (Пробел)+(Знак подчеркивания) в конце строки обеспечивает то, что последующая строка является продолжением предыдущей. При этом надо помнить, что:

  1. Нельзя разбивать переносом строковые константы.

  2. Допустимо не более семи продолжений одной и той же строки.

  3. Сама строка не может состоять более чем из 1024 символов.

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

Y=sin(Application.Pi()*x)+(1+x)^(1/2)/ _

(1+x^2)

Y=sin(Application.Pi()*x)+(1+x)^(1/2)/(1+x^2)

Комментарии

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

  1. делают программу легко читаемой, поясняя смысл программных кодов и алгоритма; 2) временно отключают фрагменты программы при ее отладке.

В языке VBA существуют два способа ввода комментариев:

  • применение апострофа (), который можно ставить в любом месте строки. При этом все символы, начиная от апострофа до конца строки, будут восприниматься компилятором как комментарий;

  • применение зарезервированного слова Rem вместо апострофа.

Ниже приведен пример использования комментариев в тексте программы:

Dim a As Integer

a – целая переменная

Dim b As String  b – строковая переменная.

Расположение нескольких операторов на одной строке

Использование знака двоеточия позволяет разместить несколько операторов на одной строке. Пример – х=х+1:y=х+2.

3.3.2. Управляющие структуры

VBA относится к категории языков структурного программирования и позволяет использовать базовые алгоритмические управляющие структуры, к которым относятся:

- линейная структура (структура следования, или линейный алгоритм);

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

- циклические алгоритмы, реализуемые оператором цикла с заданным количеством повторений и операторами с неизвестным количеством повторений – итерационными циклами.

Линейный алгоритм – это алгоритм, в котором операторы выполняются последовательно друг за другом

Операторы, реализующие разветвляющие структуры.

  1. Однострочный оператор If Then Else – оператор условного перехода.

Синтаксис: If условие Then инструкции[Else Инструкции_else].

Если Условие принимает значение True, то выполняется инструкция (или инструкции) после Then, если False, то инструкция (или инструкции) после Else. Ветвь Else необязательна. Допускается также использовать формы синтаксиса в виде блока:

If Условие Then

[Инструкции]

[ElseIf Условие -n Then

[Инструкции_elseif]

[Else

[Инструкции_else]]

End If.

  1. Оператор Select Case – оператор альтернативной выборки.

Синтаксис: Select Case выражение

[Case Условие_выбора_1

[Инструкции-1]]

[Case Условие_выбора_n

[Инструкции-n]]

[Case Else

[Инструкции_else]]

End Select.

Инструкции-n (необязательная часть) – одна или несколько инструкций, выполняемых в том случае, если выражение совпадает с любым компонентом списка Условия_выбора_n.

Инструкции_else (необязательная часть) – одна или несколько инструкций, выполняемых в том случае, если выражение не совпадает ни с одним из предложений Case.

Операторы цикла

  1. Оператор For-Next – оператор повтора (цикла).

Синтаксис: For Счетчик=Начало To Конец [Step шаг]

<Инструкции>

[Exit For]

<Инструкции>

Next [Счетчик].

Цикл For-Next обеспечивает многократное выполнение инструкций, пока счетчик изменяется от начального значения до конечного с указанным шагом. Если шаг не указан, то он полагается равным 1. По оператору Exit For можно выйти из оператора цикла до того, как счетчик достигнет последнего значения.

2. Оператор For Each-Next – оператор для перебора объектов из группы подобных объектов, например, ячеек из диапазона или элементов массива.

Синтаксис: For Each Элемент In Группа

<Инструкции>

Exit For

<Инструкции>

Next <Элемент>

Альтернативный способ выхода из цикла предоставляет инструкция Exit For.

  1. Оператор Do Until-Loop – оператор для организации циклов с неизвестным заранее числом шагов.

Синтаксис: Do Until Условие

<Инструкции>

Exit Do

<Инструкции>

Loop.

Обеспечивает многократное выполнение инструкций, пока условие не соблюдается. Сначала проверяет условие, а затем выполняет инструкции. Альтернативный способ выхода из цикла дает инструкция Exit Do.

4. Оператор Do-Loop While – оператор для организации циклов с неизвестным заранее числом шагов.

Синтаксис: Do

<Инструкции>

Exit Do

<Инструкции>

LoopWhile <Условие>

Повторяет выполнение набора инструкций, пока условие имеет значение True. Сначала выполняются, по крайней мере, один раз инструкции, а потом проверяется условие. Альтернативный способ выхода из цикла дает инструкция Exit Do.

5. Оператор Do While-Loop – оператор для организации циклов с неизвестным заранее числом шагов.

Синтаксис: Do While <Условие>

<Инструкции>

Exit Do

<Инструкции>

Loop.

Повторяет выполнение инструкций, пока условие имеет значение True. Сначала проверяется условие, а затем выполняются инструкции. Альтернативный способ выхода из цикла предоставляет инструкция Exit Do.

6. Оператор Do Loop Until – оператор для организации циклов с неизвестным заранее числом шагов.

Синтаксис: Do

<Инструкции>

Exit Do

<Инструкции>

Loop While <Условие>

Повторяет выполнение набора инструкций, пока условие имеет значение True. Сначала выполняются, по крайней мере, один раз инструкции, а потом проверяется условие. Альтернативный способ выхода из цикла предоставляет инструкция Exit Do.

7. Оператор While-Wend – оператор для организации циклов с неизвестным заранее числом шагов.

Синтаксис: While <Условие>

<Инструкции>

Wend.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]