Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
vba.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
2 Мб
Скачать
☆

Циклы с условием do … loop

Р азличают четыре модификации цикла.

1.DO

<действия>

LOOP while <условие>

да

нет

2.DO

<действия>

LOOP until <условие>

Нет

да

Действие внутри цикла 1 происходит до тех пор, пока условие выполняется. Действие внутри цикла 2 происходит до тех пор, пока условие не выполняется.

Отметим, что первый и второй тип цикла DO … LOOP выполняется хотя бы один раз.

3.DO while <условие>

<действия>

LOOP

4.DO until <условие>

<действия>

LOOP

Отметим, что действия в циклах 1),2) выполняются хотя бы один раз, в то время как в циклах 3),4) могут не выполнятся ни разу.

Замечание1. Отметим, что в циклах типа DO … LOOP необходимо самостоятельно создать изменяющуюся внутри цикла переменную, которая бы «следила» за окончанием работы, т.е. за соблюдением условий выхода.

Замечание2. В случае зацикливания воспользуйтесь комбинацией клавиш

<CTRL>+<BREAK> или <CTRL>+<ALT>+<DEL> для экстренной остановки программы

Замечание3. Досрочный выход из цикла осуществляется оператором EXIT DO

Пример.

Известно, что

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

sin x=u1+u2+…+un+…, где un –n-тый член ряда, причём

Формулу, которая выражает п+1-тый член ряда через п-тый, называется рекуррентной.

Из курса математики известно, что сумма «хвоста » ряда, начиная с п+1, по модулю не превосходит модуля п-того члена. Поэтому подсчет суммы достаточно вести до тех пор, пока модуль п-того члена не станет меньше точности. За точность обычно выбирают близкое к нулю положительное число( вида 10-6 или 10-8 или подобное им).

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

Блок-схема.

Фрагмент кода с циклом:

DO

u=-(u*x^2)/(2*n*(2*n+1))

n=n+1

S=S+u

LOOP UNTIL ABS(u) < delta

Продолжение знакомства с редактором vba

При решении задач с использованием VBA требуется создать проект, включающий в себя несколько размеченных компонентов, таких как модули, со встроенными в них процедурами, форм с элементами управления, в Excel с рабочими листами , в Word с документами и т. д. Отметим, что проекты VBA выполняются только с теми приложениями , в которых они созданы(Excel,Word, Access и т.д.) и которые называются основными приложениями.

Не используя основное приложение нельзя создать проект VBA!

Среда разработки приложений, называемая редактор VBA, еще известна как интегрированная среда разработки(IDE).

Среда разработки – это окно, содержащее меню и другие окна ( окно модуля, окно формы, панель элементов управления, окно свойств и.т.д) , используемые при создании проекта.

В редакторе VBA можно открыть «Окно проекта», в котором видны элементы проекта. Так, например, для Excel элементами проекта могут быть рабочие листы, формы, модули, если последние есть. Данные элементы в окне проекта представляются в виде “дерева”, схожего с левой частью программы Windows «Проводник».

Чтобы открыть окно проекта необходимо:

Вид=>окно проекта ( или View=>Progect Explorer) или Ctrl+R

Обращаем внимание, чтобы открыть окно проекта нужно войти в редактор VBA, то есть выбрать команду

Сервис=>Макрос=>Редактор VBA или ALT+F11

Вид «Окна проекта» может быть следующим:

Один из элементов в окне выделен. Чтобы открыть нужный нам элемент дважды щелкните по нему.

Отметим, что при открытом приложении у нас может быть открыто несколько рабочих книг, с элементами которых можно работать как с обычными файлами и папками системы Windows в смысле их копирования и перемещения.

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