Студопедия

КАТЕГОРИИ:


Архитектура-(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 If должно совпадать с количеством операторов If




End If

End Sub

End Sub

Операторы ветвления

В языке VBA имеются два основных типа операторов выбора: операторы условия (линейный и блочный) и переключатели.

1) линейный оператор условия используется для выполнения одного оператора, в зависимости от условия. Формат:

IF<Условие>Then<Оператор1>[Else<Оператор2>]

Конструкция [Else<Оператор2>] может отсутствовать.

Пример1 (альтернативная форма):

Sub Условие()

If Sheets("товар2").Cells(4,1) = "монитор" _

Then Cells(4,2).Value = 1500 Else Cells(4,2).Value = 500

‘ если значение ячейки А4 листа Товар2 имеет значение Монитор, то в ячейку В4 поместить число 1500, иначе в ячейку В4 поместить число 500.

 

Пример2 (безальтернативная форма):

 

Sub Условие1()

If Sheets("товар2").Cells(4,1) = "монитор" Then Cells(4,2).Value = 1500

Запись условных линейных операторов неудобна, если по результатам проверки условий надо переходить к большим группам операторов. В этом случае используют блочный оператор.

 

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

IF<Условие>Then

<Группа операторов1>

[Else< Группа операторов2>]

 

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

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

Например:

Sub программа()

Dim Name, Rang As String

If Name = «Петров» Then

If Rang = «Торговый агент»

Then

Range("A10") = Name & Rang

Else

Range("A10") = "Агента с указанной фамилией в списке нет"

End If

End If

End Sub

 

 

Условия можно записывать с помощью логических операторов, например:

Sub месяц1()

If Range("A1") = 6 Or Range("A1") = 7 Or Range("A1") = 8 Then

Range("A2") = "каникулы"

Else

Range("A2") = "учебный год"

End If

End Sub

Языком VBA также предусмотрена конструкция для работы с несколькими операторами If. Она применяется в тех случаях, когда необходимо рассмотреть еще несколько условий в дополнение к исходному. Для этого служит конструкция If……Then……ElseIf. В отличии от вложенных операторов конструкция с несколькими операторами If позволяет проверить дополнительное условие, если исходное условие имеет значение ложь.

 

Пример:

Sub месяц_СПО()

Sheets("месяц").Select

If Range("A1") = 12 Then

Range("A2") = "декабрь"

ElseIf Range("A1") = 1 Then

Range("A2") = "январь"

ElseIf Range("A1").Value = 2 Then

Range("A2") = "февраль"

ElseIf Range("A1") = 3 Then

Range("A2") = "март"

ElseIf Range("A1") = 4 Then

Range("A2") = "апрель"

ElseIf Range("A1") = 5 Then

Range("A2") = "май"

Else

Range("A2") = "лето или осень"

End If

End Sub

 

Переключатели в VBA реализуются оператором Select Case, который позволяет сделать выбор из нескольких альтернативных вариантов в зависимости от значений условного выражения.

В) Операторы циклов

Цикл – это оператор или группа операторов, которые программа много кратно выполняет до тех пор, пока не получит команду на выполнение других операторов. Существует два основных типа циклов: циклы со счетчиком (используются, когда некоторые действия необходимо повторить заданное количество раз) и циклы с условием (когда некоторые действия должны повторяться до тех пор, пока выполняется определенное условие).

Цикл со счетчиком:

FOR СчетчикЦикла=НачальноеЗначение TO Конечное значение

[ STEP Шаг]

NEXT [Счетчик цикла]

Где ключевые слова:

FOR – начало цикла

TO – разделяющее НачальноеЗначение и КонечноеЗначение

STEP – задание шага цикла

NEXT – конец цикла

 

Пример:

Sub Цикл_пример()

Dim Sum As Integer

Dim I As Integer

Sum = 0

For I = 1 To 4

Sum = Sum + 2

Next I

Range("A5") = Sum

End Sub

Этот цикл эквивалентен

четырем операторам Sum=Sum+2 (Sum=8)

Пример2:

Sub Цикл_пример2()

Dim Sum, I As Integer

Sum = 0

For I = 1 To 4

Sum = Sum + I

Next I

Range("A5") = Sum

End Sub

В данном примере сумма будет равна 10 (0+1+2+3+4)

Пример3:

Sub Цикл_пример2()

Dim Sum, I As Integer

Sum = 0

For I = 1 To 4 Step 2

Sum = Sum + I

Next I

Range("A5") = Sum

End Sub

В данном примере сумма будет равна 16 (0+1+3+5+7)




Поделиться с друзьями:


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


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



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




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