Excel. Трюки и эффекты - [12]

Шрифт
Интервал

Ниже приведен пример трех вложенных циклов For-Next, итераторами которых являются целочисленные переменные i, j и к:

For i = 10 To 1 Step -1

For j = 1 To 20

For k = 10 To -10 Step -2

' Выполнение каких-то действий

Next k

Next j

Next i

Цикл For Each-Next

Цикл For Each-Next используется для просмотра всех элементов массива или коллекции. Формат данного цикла следующий:

For Each Элемент In Контейнер

[Инструкции]

[Exit For]

[Инструкции]

Next [Элемент]

Здесь Элемент – это идентификатор переменной-итератора, а Контейнер – идентификатор массива или коллекции. Для цикла For Each-Next допустимый тип итератора зависит от того, просматривается массив или коллекция. При просмотре массива итератор должен иметь тип Variant. При просмотре коллекции итератор может иметь тип Variant или быть ссылкой на объект.

После ключевого слова Next можно (но не обязательно) указывать идентификатор итератора цикла, конец тела которого обозначает данное ключевое слово.

Чтобы преждевременно выйти из цикла, можно использовать такую же инструкцию Exit For, как и для цикла For-Next.

Ниже приведен пример использования цикла For Each-Next для просмотра массива astrStrings:

For Each varItem In astrStrings

' Выполнение каких-то действий над элементом varItem

Next

Цикл While-Wend

While-Wend являeтcя самым простым циклом, с помощью которого можно осуществлять определенные действия до тех пор, пока выполняется заданное условие. Формат данного цикла следующий:

While Условие

[Инструкции]

Wend

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

Ниже приведен пример организации цикла While-Wend:

While i < 100

' Действия в цикле

i = i + 3

Wend

Следует отметить, что цикл While-Wend является значительно упрощенным и ограниченным с точки зрения разнообразности способов его использования.

Цикл Do-Loop

Цикл Do-Loop предоставляет гораздо больше возможностей при организации циклических действий с проверкой логического условия, чем цикл While-Wend. Проверка логического условия окончания цикла может происходить в начале каждой итерации цикла, при этом формат цикла следующий:

Do [While | Until Условие]

[Инструкции]

[Exit Do]

[Инструкции]

Loop

Проверка условия может также происходить в конце каждой итерации цикла (тогда выполняется как минимум одна итерация цикла):

Do

[Инструкции]

[Exit Do]

[Инструкции]

Loop [While | Until Условие]

В приведенных форматах Условие – любое логическое выражение. При использовании ключевого слова While цикл выполняется до тех пор, пока Условие имеет значение True, а при использовании ключевого слова Until – пока Условие имеет значение False. Для выхода из цикла предусмотрена инструкция Exit Do.

Ниже приведен пример использования цикла Do-Loop:

Do While i < 100

i = i + 1

Do

j = j + 5

' Действия

Loop Until j > 200

Loop

Инструкции выбора

Язык VBA поддерживает инструкции, позволяющие осуществлять различные действия в зависимости от выполнения или невыполнения заданных условий, – инструкции выбора If-Then-Else и Select.

Инструкция If-Then-Else

Инструкция VBA If-Then-Else предоставляет возможность выбора одного из действий в зависимости от значений заданных логических выражений. Формат данной инструкции следующий:

If Выражение1 Then

[Инструкции1]

[ElseIf Выражение2 Then

[Инструкции2]]

[ElseIf ВыражениеN Then

[ИнструкцииN]]

[Else

[Инструкции]]

End If

Здесь Выражение1 – ВыражениеN – логические выражения. Если какое-либо из них истинно, то выполняются инструкции, находящиеся после соответствующего ключевого слова If или Elself. Если ни одно из выражений не является истинным, то выполняются инструкции, записанные после ключевого слова Else (если, конечно, это ключевое слово используется).

Рассмотрим пример использования инструкции If-Then-Else:

If intAction = 1 Then

' Выполнение сложения

res = a + b

ElseIf intAction = 2 Then

' Выполнение вычитания

res = a – b

ElseIf intAction = 3 Then

' Выполнение умножения

res = a * b

Else

' Заданное действие не поддерживается

'…

End If

В приведенном примере с помощью инструкции If-Then-Else выбирается одно из трех поддерживаемых действий для переменных а и Ь: сложение, вычитание или умножение. Действие, которое необходимо выполнять, определяется по содержимому переменной intAction. Если она имеет значение, отличное от 1, 2 и 3, то выполняются инструкции, следующие непосредственно после ключевого слова Else.

Язык программирования VBA также поддерживает упрощенный вариант инструкции If-Then-Else:

If Выражение Then [Инструкции1] [Else Инструкции2]

Здесь Выражение – это логическое выражение, при истинном значении которого выполняются инструкции после ключевого слова Then. Если Выражение не истинно, то выполняются инструкции после ключевого слова Else (если это ключевое слово используется). При использовании этой формы инструкции If-Then-Else следует учитывать, что она записывается в одну строку (или в несколько строк, но с использованием символа подчеркивания). Также необходимо учитывать, что Инструкции и Инструкции1 представляют собой либо одну инструкцию VBA, либо несколько инструкций, разделенных двоеточием.


Еще от автора Алексей Анатольевич Гладкий
Компьютер для бухгалтера

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


1С: Бухгалтерия 8.2. Понятный самоучитель для начинающих

Автоматизация бухгалтерского учета является одной из ключевых задач, стоящих перед руководством каждого предприятия. Время диктует свои условия, и уже давно дебет с кредитом вручную никто не сводит: такой учет громоздок, неповоротлив, медлителен, отличается трудоемкостью и изобилует ошибками. В этой книге мы будем рассматривать одно из наиболее популярных типовых решений системы 1С – конфигурацию «Бухгалтерия предприятия», реализованную на платформе 1С версии 8.2. Этот релиз является самым актуальным на момент написания данной книги.В результате изучения данной книги вы приобретете все необходимые знания для полноценной работы с программой «1С Бухгалтерия 8», научитесь выполнять в ней привычные бухгалтерские операции (работа с документами, формирование проводок, формирование отчетности и др.), самостоятельно создавать и подключать информационные базы, а также подготавливать программу к работе.


Как защитить компьютер от ошибок, вирусов, хакеров

Реалии сегодняшнего дня таковы, что для успешной работы на компьютере, и особенно – в Интернете, недостаточно просто иметь соответствующие навыки. В немаловажной степени результаты работы зависят от того, насколько хорошо пользователь умеет защищать свой компьютер и хранимую в нем информацию. Особую важность вопросы защиты данных приобретают в свете того, что современные мошенники постоянно совершенствуют свое «мастерство», и потеря бдительности может привести к весьма печальным последствиям.В книге подробно рассматриваются различного рода нештатные ситуации, которые могут возникать при работе на компьютере, анализируются причины их возникновения и даются советы и рекомендации по решению этих проблем.


1С: Управление торговлей 8.2. Понятный самоучитель для начинающих

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации.


1С: Бухгалтерия 8 с нуля. 100 уроков для начинающих

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции.


Если вас остановил инспектор. Ваши права-2008

Всегда надо помнить, что помимо многочисленных обязанностей водители имеют не менее многочисленные права. Их не следует забывать и рекомендуется использовать в различных неблагоприятных обстоятельствах. Из этой книги вы узнаете, как себя вести с инспектором ГИБДД и что делать, если его решение вам кажется неправомерным, какие действия нужно предпринимать при ДТП, что лучше страховать - свой автомобиль или гражданскую ответственность и многие другие полезные вещи.Вам не нужно больше копаться в многочисленных правовых актах и документах: все необходимое вы найдете здесь - вместе с анекдотами, шутками и хорошим настроением.В приложении приведена новая таблица штрафов.