16340

Условный оператор в VBA

Лекция

Информатика, кибернетика и программирование

Условный оператор Условный оператор VBA позволяет проверить некоторое условие и в зависимости от результатов проверки выполнить то или иное действие. Таким образом условный оператор – это средство ветвления вычислительного процесса. В VBA существует 2 типа условного ...

Русский

2013-06-20

49 KB

24 чел.

Условный оператор

Условный оператор VBA позволяет проверить некоторое условие и в зависимости от результатов проверки выполнить то или иное действие. Таким образом, условный оператор – это средство ветвления вычислительного процесса.

В VBA существует 2 типа условного оператора: линейный и блочный.

1. Линейный условный оператор используется для того, чтобы выполнить какой-либо один оператор, если некоторое условие будет истинным.

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

Структура безальтернативного условного оператора (сокращенный вариант):

If <условие> Then <оператор 1>

Структура альтернативного условного оператора (полный вариант):

If <условие> Then <оператор 1> Else <оператор 2>

где 

                   If, Then, Else - зарезервированные слова (если, то, иначе);

                                      <условие> -  произвольное выражение логического типа;

<оператор 1>,  <оператор 2> - любые операторы языка VBA.

Работа. Вначале вычисляется условное выражение <условие>. Если результат есть True (истина), то выполняется <оператор 1>, а <оператор 2> пропускается. Если результат есть False (ложь), наоборот, <оператор 1> пропускается, а выполняется <оператор 2>.

2. Блочный условный оператор используется в случае истинности условия необходимо выполнить несколько программных операторов (блок операторов). Блочный оператор имеет две формы: безальтернативный, альтернативный.

Структура безальтернативного блочного оператора (сокращенный вариант)

If <условие> Then

<оператор1>

<оператор2>

…………….

<оператор n>

End If

где

End If - указывает на окончание блока оператора If.

Структура альтернативного блочного оператора:

If <условие> Then

<оператор1>

<оператор2>

…………….

<оператор n>

Else

<оператор1>

<оператор2>

…………….

<оператор n>

End If

Пример 1.

Постановка задачи. Создать в стандартном модуле пользовательскую процедуру вычисления уравнения вида ax2 + bx + c = 0.

Технология выполнения задания:

1. Исходные данные:

a, b, c  R

Результат: х1, х2  R.

2.Набрать в стандартном модуле проекта следующую пользовательскую процедуру:

Private Sub yravnenie ()

a = InputBox("a=", a)

b = InputBox("b=", b)

c = InputBox("c=", c)

d = b ^ 2 - 4 * a * c

If d >= 0 Then

x1 = (-b + Sqr(d)) / (2 * a)

x2 = (-b - Sqr(d)) / (2 * a)

MsgBox (x1)

MsgBox (x2)

Else

MsgBox ("Решений нет")

End If

End Sub

3.Вычислить корни квадратного уравнения при произвольных исходных данных.

Альтернативный блочный оператор If применяется в тех случаях, когда при выполнении условия необходимо осуществить один набор программных операторов, а при невыполнении – другой.

Операторы IF могут быть вложенными друг в друга. Такое вложение операторов применяется, если нужно проверить какое-либо условие при другом условии, которое является истинным.

Формат вложенного оператора If:

If <условие1> Then

                   If <условие2> Then

<оператор1>

<оператор2>

…………….

<оператор n>

Else

<оператор1>

<оператор2>

…………….

<оператор n>

End If

End If

Пример 2.

Постановка задачи. Создать в стандартном модуле пользовательскую функцию нахождения максимального среди трех заданных чисел y1 = a+2*b; y2 = a*b+c; y3 = c2 + 1.

Технология выполнения задания:

1. Исходные данные:

a, b, c  R

Результат: Max  R.

2.Набрать в стандартном модуле проекта следующую пользовательскую функцию:

Function y(a,b,c)

y1 = a+2*b

y2 = a*b+c

y3 = c^2+1

If y1 > y2 Then

If y1 > y3 Then y = y1 Else y = y3

Else

If y2 > y3 Then y = y2 Else y = y3

End If

End Function

3.Вычислить корни квадратного уравнения при произвольных исходных данных.

При использовании вложенных операторов If важно не перепутать варианты сочетания условий. Нужно помнить правило: альтернатива Else считается принадлежащей ближайшему оператору If, не имеющему ветви Else.

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

Формат записи:

If <условие1> Then

<оператор1>

ElseIf <условие2> Then

<оператор2>

Else

<.оператор3>

EndIf

Пример 3.

Постановка задачи. Менеджеру по продажам необходимо разработать функцию, позволяющую рассчитывать комиссионные. Процент комиссионных зависит от объема проданного товара и начисляется по следующему правилу, представленному в таблице 15.

Правила расчета комиссионных

Объем продаж за неделю, р.

Комиссионные, %

От 0 до 9999

8

От 10000 до 19999

10

От 20000 до 39999

12

Более 40000

14

Технология выполнения задания:

1. Исходные данные:

Продажи  Z.

Результат: Комиссионные  R.

2. Построить для расчета комиссионных в стандартном модуле пользовательскую функцию:

Function Комиссионные (Продажи)

If Продажи <= 9999 Then

   Комиссионные = Продажи * 0.08

ElseIf Продажи <= 19999 Then

   Комиссионные = Продажи * 0.1

ElseIf Продажи <= 39999 Then

   Комиссионные = Продажи * 0.12

Else

   Комиссионные = Продажи * 0.14

End If

End Function

3. Вычислить.


 

А также другие работы, которые могут Вас заинтересовать

44228. Операційна система Windows на прикладі сучасних систем 3.92 MB
  Працює в багатозадачному режимі. Використовує процесну форму (паралельно виконується кілька програм) та потокову форму (паралельно виконуються різні частини однієї програми). При одному процесорі багатозадачний режим реалізується так: попрацювавши якийсь час, задача у Windows 98 автоматично розвантажується і керування передається наступній задачі. При перебоях під час розв'язування задачі її можна зняти без розвантаження всієї системи
44229. Товарознавство та торгівельне підприємництво. Методичні вказівки 584.5 KB
  Методичні вказівки містять загальні рекомендації щодо написання бакалаврської роботи тематику робіт загальні вимоги до написання оформлення та виконання окремих розділів. Організація виконання випускної бакалаврської роботи Керівництво бакалаврськими випускними роботами Напрямки і теми бакалаврських випускних робіт Структура і зміст випускної бакалаврської роботи. Структура бакалаврської випускної роботи
44230. Обоснование эффективности расширения деятельности ООО «ДЕЛАН» 624.5 KB
  Сущность и основные показатели экономической эффективности деятельности предприятия Сущность и критерии экономической эффективности деятельности предприятия Показатели эффективности деятельности и факторы влияющие на эффективность предприятия Пути повышения эффективности деятельности предприятия
44231. Формирование стратегии городского маркетинга (на примере города Омска) 3.85 MB
  Специалисты, относящиеся к первой группе, понимают маркетинг как сугубо экономическую процедуру, сводящуюся к рекламе города. Они вкладывают в понятие маркетинга следующее: «…маркетинг города направлен на оптимизацию соотношения между городскими функциями (услугами) и спросом на них населения, компаний, туристов и других посетителей города»
44232. РАО как организационно-правовая форма реализации и защиты авторских и смежных прав 388.5 KB
  Изучение проблемы защиты интеллектуальной собственности, в частности авторских и смежных прав, начинается с определения понятия и перечисления авторских и смежных прав в соответствии с законодательством Российской Федерации. В этой же главе даётся краткая характеристика этих прав
44233. Проблема организации труда персонала на предприятии ООО «Агрокомплекс» 1.45 MB
  Теория и практика хозяйствования показали, что в наибольшей степени этим требованиям соответствуют такие формы и методы организации труда, которые усиливают роль человека в принятии решений, роль высокоэффективных рабочих групп в решении сложных производственных вопросов, повышая при этом значение самоорганизации работника в трудовом процессе
44234. Комплексное исследование таможенной процедуры реимпорта 328 KB
  Емкость российского рынка огромна что особенно привлекает иностранные торговые организации которые заинтересованы в поставках своих товаров на этот рынок. Теоретическая категория применение таможенных процедур определяет принципиальную возможность лиц быть участниками таможенных правоотношений а правовой статус товаров помещенных в определенную таможенную процедуру очерчивает границы возможных прав и обязанностей хозяйствующего субъекта. Таможенные процедуры заявляемые при декларировании товаров Товары перемещаемые...
44235. Процесс культурной самоидентификации и определение места традиции крещения 380.5 KB
  На этом фоне взоры политиков деятелей культуры широкой общественности все чаще обращаются в сторону социальных институтов в частности институтов религии и церкви имеющих исторический опыт духовно-нравственного влияния в России. К настоящему моменту сложилась ситуация требующая социологического изучения воздействия религии в том числе Русской Православной Церкви РПЦ на духовно-нравственные процессы в российском обществе. И вся жизнь Церкви таинственна и не может не быть таинственной. Так Литургия есть не повторение Тайной Вечери...
44236. Методы лечения болезни сердца у овчарок 2.25 MB
  Основы строения и работы сердца. Большую часть болезней сердца составляют приобретенные патологии. Врожденные пороки сердца встречаются у собак крайне редко и составляют 046085 от общей популяции. Наиболее часто выявляемой приобретенной сердечной патологией является хроническая недостаточность атриовентрикулярных клапанов которая составляет 75 процентов из всех болезней сердца.