Dim i As Integer, j as integer
Set mesto = <начальная ячейка>
For i = 1 to 4
For j = 1 to 4
mesto (i, j) = 1
Next j
Next i
Вернемся к задаче с ценами. Теперь будем считать, что количество строк нам неизвестно, а признаком окончания последовательности является пустая сттрока. Скажем еще, что числовое значение пустой ячейки VBA воспринимает как ноль.
Такая постановка задачи требует использвания цикла по условию. Основным видом такого цикла в VBA является цикл While.
Sub Magazin2()
Dim mesto As Range
Dim doll As Double, rubli As Double, kurs As Double
Dim i As Integer
Set mesto = Range("B2")
i = 1
While mesto (i, 1) > 0
doll = mesto(i, 1)
rubli = doll * kurs
mesto(i, 2) = rubli
i = i + 1
Wend
End Sub
Мы видим:
§ традиционное название структуры (While).
§ «скобки» вида While – Wend. Понятно, что Wend – это сокращенное «While END» (End While было бы последовательней, но как сделано, так сделано)
§ в конце строки While нет слова Do (как в Паскале)
В общем виде структуру можно записать как:
While <условие>
<Повторяющиеся действия, можно в несколько строк>
Wend
Действия повторяются, пока выполняется условие. Это так, но думать удобней по-другому: условие ставится на продолжение повторений (а не на окончание).
Для обработки последовательностей (и массивов) в цикле While приходится создавать ручной счетчик. Надеемся, что смысл строк i = 1 и i = i + 1 вам понятен.
Второй паскалевский вариант цикла – Until – в VBA отсутствует. Зато в VBA есть очень удобный цикл Do-Loop, но с ним мы познакомимся позднее.
|
|
Задания II :
1. Заполнить диапазон таблицы 4х4 числами от 1 до 16:
1 | 2 | 3 | 4 |
5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 |
Решить задачу на VBA двумя способами: с помощью. цикла от 1 до 16 и с помощью двойного цикла от 1 до 4. Проверить работу программ.
2. Дан список оценок. посчитать количество четверок.
3. Дана последовательность (массив) с нулевыми элементами. Создать вторую последовательность (массив) из номеров этих элементов.
Алгоритмы решения задач 2-3 записать на Паскале или VBA.
Дата добавления: 2019-03-09; просмотров: 293; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!