- •1. Оператор присваивания
- •2. Операторы ввода-вывода
- •2.1. Оператор и функция MsgBox
- •2.2. Функция InputBox
- •2.3. Условный оператор if
- •1.3. Оператор выбора Select Case
- •1.4. Операторы цикла
- •Методы объекта Application
- •10. Объект Word.Document, программная работа со свойствами и методами документа в vba
- •12. Объект windows. Свойства, методы, события.
- •11. Семейство windows. Назначение, свойства, методы.
1.4. Операторы цикла
Для реализации циклического вычислительного процесса, т. е. многократного выполнения одного или нескольких операторов, служит оператор цикла For…Next, который имеет следующий синтаксис:
For СЧЕТЧИК=НАЧ_ЗНАЧЕНИЕ Тo КОН_ЗНАЧЕНИЕ Step ШАГ
БЛОК_ОПЕРАТОРОВ
[Exit For]
БЛОК_ОПЕРАТОРОВ
Next СЧЕТЧИК
Цикл For…Next перебирает значения переменной СЧЕТЧИК, которая является параметром цикла, от начального до конечного значения с указанным шагом изменения. При этом обеспечивается выполнение блока операторов тела цикла при каждом новом значении счетчика. Если Step ШАГ в конструкции отсутствует, то по умолчанию считается, что шаг равен 1. По оператору Exit For можно выйти из оператора цикла до того, как СЧЕТЧИК достигнет последнего значения.*
Для перебора объектов из группы подобных объектов, например, ячеек из диапазона или элементов массива, удобно использовать оператор цикла For… Each…Next.
For Each Элемент In Группа
БЛОК_ОПЕРАТОРОВ
[Exit For]
БЛОК_ОПЕРАТОРОВ
Next Элемент
В VBA для организации циклов с неизвестным заранее числом повторений используются и другие операторы цикла:
циклы с предусловием – Do While … Loop,
Do Until … Loop;
циклы с постусловием – Do … Loop While,
Do … Loop Until.
Ниже приведен синтаксис этих операторов цикла:
' Цикл с предусловием Do While … Loop
Do While УСЛОВИЕ
БЛОК_ОПЕРАТОРОВ
[Exit Do]
БЛОК_ОПЕРАТОРОВ
Loop
Примечание. Не рекомендуется принудительно изменять значения параметра цикла, его начального и конечного значения в теле цикла For…Next.
' Цикл с предусловием Do Until … Loop
Do Until УСЛОВИЕ
БЛОК_ОПЕРАТОРОВ
[Exit Do]
БЛОК_ОПЕРАТОРОВ
Loop
' Цикл с постусловием Do … Loop While
Do
БЛОК_ОПЕРАТОРОВ
[Exit Do]
БЛОК_ОПЕРАТОРОВ
Loop While УСЛОВИЕ
' Цикл с постусловием Do … Loop Until
Do
БЛОК_ОПЕРАТОРОВ
[Exit For]
БЛОК_ОПЕРАТОРОВ
Loop Until УСЛОВИЕ
Оператор Do While…Loop обеспечивает многократное повторение блока операторов до тех пор, пока УСЛОВИЕ соблюдается, а оператор Do Until…Loop пока УСЛОВИЕ не соблюдается. ОператорыDo…Loop While, Do…Loop Until отличаются от перечисленных выше операторов тем, что сначала блок операторов выполняется по крайней мере один раз, а потом проверяется УСЛОВИЕ.
Для избежания зацикливания в теле цикла должен быть хотя бы один оператор, который изменяет значения переменных, стоящих в УСЛОВИИ.
Оператор Exit Do обеспечивает досрочный выход из оператора цикла.
9. Объект Application (приложение) является главным в иерархии объектов Excel и представляет само приложение Excel. Он имеет более 120 свойств и 40 методов. Эти свойства и методы предназначены для установки общих параметров приложения Excel. Кроме того, объект Application позволяет вызывать более 400 встроенных функций рабочего листа при помощи конструкции вида.
Свойства объекта Application
Свойства |
Выполняемые действия и допустимые значения |
ActiveWorkbook, ActiveSheet ActiveCell |
Возвращают активный объект: рабочую книгу, лист, ячейку, диаграмму, диалоговое окно. Свойство ActiveCell содержится В ActiveSheet, а свойства ActiveSheet, ActiveChart И ActiveDialog в ActiveWorkbook. |
ActiveChart |
В следующем примере в активной ячейке устанавливается по- |
ActiveDialog |
лужирный шрифт и в нее вводится строка текста Отчет за май: With ActiveCell .Font. Bold = True .Value = "Отчет за май" End With |
ThisWorkbook |
Возвращает рабочую книгу, содержащую выполняющийся в данный момент макрос. Это свойство может возвращать рабочую книгу, отличную от возвращаемой свойством Active-Workbook, т. к. выполняемый макрос может находиться в неактивной книге |
Calculation |
Устанавливает режим вычислений. Допустимые значения: xlCalculationAutomatic (автоматический режим) xlCalculationManual (вычисления выполняются вручную) xlCalculationSemiAutomatic (автоматический режим, не распространяется на таблицы) |
Caption |
Возвращает текст в строке имени главного окна Excel. Установка свойства равным Empty возвращает заголовок, используемый по умолчанию. В следующем примере первая инструкция устанавливает в качестве заголовка окна приложения текст Отчет за 1999 год, а вторая возвращает имя окна, используемое по умолчанию, т. е. Microsoft Excel: Application. Caption = "Отчет за 1999 год" Application. Caption = Empty |
DisplayAlerts |
Допустимые значения: True (отображаются встроенные предупреждения о работе программы) и False (предупреждения не отображаются) |
DisplayFormulaBar |
Допустимые значения: True (строка формул выводится в окне Excel) и False (строка формул не выводится). В данном ниже примере установлен режим, при котором строка формул не будет выводиться в окне Excel: Application. DisplayFormulaBar = False |
DisplayScrollBars |
Допустимые значения: True (полосы прокрутки видны в окне Excel) и False (полосы прокрутки не отображаются). Например: Application. DisplayScrollBars = False — строка формул не будет выводиться в окне Excel |
DisplayStatusBar |
Допустимые значения: True (строка состояния видна в окне Excel) и False (строка состояния не видна). Например: Application. DisplayStatusBar = True — строка состояния не будет выводиться в окне Excel |
EnableCancelKey |
Определяет действие при нажатии комбинации клавиш <Ctrl>+<Break>, используемой для прерывания выполнения процедуры. Допустимые значения: xlDisabled (прерывания программы запрещено) xllnterrupt (прерывание процедуры разрешено) XlErrorHandler (прерывание воспринимается как ошибка) |
Height |
Высота окна приложения в пунктах |
Width |
Ширина окна приложения в пунктах |
Left |
Расстояние в пунктах от левой границы окна приложения до левого края экрана |
Right |
Расстояние в пунктах от правой границы окна приложения до правого края экрана |
Top |
Расстояние в пунктах от верхней границы окна приложения до верхнего края экрана |
ScreenUpdating |
Допустимые значения: True (изображение обновляется во время выполнения программы) и False (изображение не обновляется). Задание False в качестве значения свойства ускоряет выполнение процедуры. В конце процедуры свойству ScreenUpdating необходимо присвоить значение True |
StatusBar |
Выводит заданный текст в строке состояния. Выполнение приведенного ниже примера позволит вывести текст Ввод данных. . . в строке состояния: Application. DisplayStatusBar = True Application. StatusBar = "Ввод данных..." |
Version |
Возвращает номер текущей версии Excel. Применяется для проверки того, что приложение используется в корректной версии. Например: If Application. Version о "8.0" Then Exit Sub |
WindowState |
Устанавливает размер окна. Допустимые значения: xlMaximized (максимальный) xlMinimized (минимальный) xlNormal (нормальный) Например: Application. WindowState = xlMaximized — устанавливается максимальный размер окна |
