Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

End Sub. Приведенный пример демонстрирует, что цикл типа счетчик эффективно применять в случае, когда заведомо извес

End Sub

Randomize

End Sub

Randomize

For i = 1 To 100

Cells(i, 2) = Rnd()

Next i

 

Приведенный пример демонстрирует, что цикл типа счетчик эффективно применять в случае, когда заведомо известно количество циклов, необходимых для реализации задачи.

Примечание: В конструкции цикла типа счетчик ключевое слово Step можно не указывать, если переменная цикла увеличивается на 1.

 

Предположим, что поставлена задача, заполнить таблицу размером 10 x 10 ячеек случайными числами, изменяющимися в диапазоне значений от –500 до 500. Следующий пример демонстрирует реализацию поставленной задачи.

 

Пример:

 

Sub Test()

Dim i, j

For j = 1 To 10

For i = 1 To 10

Cells(i, j) = 500 - Int(Rnd() * 1000)

Next i

Next j

 

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

 

Так, как Лист Excel является таблицей, т.е. двумерным массивом нет никакой разницы применения приведенных конструкций для обработки данных любых одномерных и двумерных массивов.

 

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

Следующий пример демонстрирует работу управляющей структуры While … Wend.

Пример:

Sub Test()

Dim Count

Count = 0 ' Инициализирует переменную.

While Count < 20 ' Анализирует значение счетчика.

Count = Count + 1 ' Увеличивает счетчик.

Wend ' Завершает цикл While, если Count > 19.

Debug.Print Count ' Выводит 20 в окно отладки.

 

В данном примере конструкция While...Wend используется для увеличения переменной-счетчика. Инструкции в цикле выполняются до тех пор, пока указанное условие не действительное (True).

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

Имеется два способа проверки условия в управляющей структуре Do...Loop:

· с помощью ключевого слова While – условие проверяется до входа в цикл

· условие проверяется после хотя бы однократного выполнения цикла.

В следующей процедуре ChkTest условие проверяется до входа в цикл. Если Num задать равным 9 вместо 20, инструкции внутри цикла выполняться не будут.

 

Пример:

Sub ChkTest()

count = 0

Num = 20

Do While myNum > 10

Num = myNum - 1

count = count + 1

<== предыдущая лекция | следующая лекция ==>
End Sub. [ElseIf условие-n Then | Часть 2
Поделиться с друзьями:


Дата добавления: 2014-01-11; Просмотров: 329; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.