Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лаб_VBA_верстка2010.doc
Скачиваний:
10
Добавлен:
08.11.2018
Размер:
237.06 Кб
Скачать

Лабораторная работа №5 Организация циклов Операторы for…next и while…wend

Visual Basic предлагает несколько конструкции для организации циклов: цикл For … Next дает возможность устанавливать число проходов цикла, цикл Do While ... Loop выполняется поа условие принимает истинное значение, цикл Do Until ... Loop выполняет цикл пока условие неверно.

Цикл For...Next

Цикл for…next применяется в случаях, когда количество проходов цикла заранее известно. В других случаях используют другие операторы цикла.

Цикл For . . .Next имеет следующую форму записи:

For Счетчик = Начальное_значение То Конечное_значение [Step Шаг]

Операторы

Next [Счетчик]

В начале выполнения цикла значение Счетчик устанавливается в Начальное значение. При каждом проходе переменная Счетчик увеличивается на 1 или на величину Шаг. Если она достигает или становится больше (меньше, при отрицательном шаге) Конечное значение, то цикл завершается, и выполняются следующие операторы. Разность между начальным и конечным значением, деленная на величину шага, составляет число проходов.

Пример 1. Программа, подсчитывающая сумму 100 первых чисел.

Sub Сумма1()

Dim Sum As Integer, i As Integer

Sum = 0

For i = 1 To 100

Sum = Sum + i

Next i

MsgBox “Сумма=“, Sum

End Sub

Для непосредственного обращения к ячейкам Excel в VBA существует оператор Cells(i, j), где I – номер строки листа Excel, j- номер столбца. Например, ячейка А2 Cells(2, 1).

Оператор Do While...Loop

В Visual Basic оператор Do While...Loop выполняет цикл до тех пор, пока выполняется заданное условие. Данный оператор имеет вид:

Do While Условие

[Операторы]

Loop

Пример 2. Программа подсчета суммы всех чисел в диапазоне от А1до А15.

Sub Сумма2()

Dim Sum As Integer

Dim I As Integer

Sum = 0

I = 1

Do While I <= 15

Sum = Sum + Cells( I , 1)

I = I + 1

Loop

MsgBox “Сумма=“, Sum

End Sub

Оператор Do Until...Loop

В Visual Basic оператор Do Until...Loop выполняет цикл, пока заданное условие принимает ложное значение. Если, условие принимает истинное значение, когда VBA выполняет этот оператор в первый раз, то VBA просто пропускает, не выполняя его ни разу.

Данный оператор имеет вид:

Do Until Условие

[Операторы]

Loop

В качестве примера переделаем пример, рассмотренный выше - подсчета суммы всех чисел в диапазоне от А1до А15.

Пример 3.

Sub Сумма3 ()

Dim Sum As Integer

Dim I As Integer

Sum = 0

I = 1

Do Until I > 15

Sum = Sum + Cells( I , 1)

I = I + 1

Loop

MsgBox “Сумма=“, Sum

End Sub

Рабочее задание (по вариантам):

Напишите в трех вариантах (for...next,do whileloop и do until...loop) программу, которая

  1. возводит в квадрат положительные ячейки в диапазоне от A1 до А10 и помещает результат в ячейки от B1 до B10. Отрицательные ячейки копируются без изменения.

  2. определяет четность/нечетность чисел в диапазоне от С2 до С8 и помещает результат в ячейки от B2 до B8.

  3. анализирует ячейки Excel в диапазоне от В1 до B12 и выделяет отрицательные ячейки фоном красного цвета.

  4. сравнивает ячейки в диапазоне от A1 до A5 с ячейками в диапазоне от С1 до C5. Результаты сравнения в виде знаков “=” или “<>” помещаются в ячейки B1…B5.

  5. вычисляет сумму квадратов положительных ячеек в диапазоне D1…D7.

  6. находит наименьшую ячейку в диапазоне D1…D14.

  7. находит наибольшую ячейку в диапазоне С2…С10.

  8. находит корень из положительных чисел в ячейках от D1 до D9 и помещает результат в ячейки от E1 до E9.

  9. подсчитывает среднее арифметическое положительных ячеек в диапазоне от С1 до С8.

  10. заполняет ячейки от A1 до A10 арифметической последовательностью, с шагом 5. Начальный элемент последовательности запросить в окне ввода.

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

  12. находит сумму положительных чисел в диапазоне от A1 до A8.

  13. находит сумму отрицательных чисел в диапазоне от A1 до A10.

  14. меняет знак всех чисел в диапазоне от A1 до А10 и помещает результат в ячейки от B1 до B10.

  15. анализирует ячейки Excel в диапазоне от А1 до А10 (ячейки содержат цифры 2, 3, 4, 5) и выводит количество ячеек, содержащие значение 5, и количество ячеек с цифрами 4.

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