Студопедия

КАТЕГОРИИ:


Архитектура-(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 Select. Синтаксис оператора Select Case

Синтаксис оператора Select Case

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

GoTo Labl

Здесь Labl – метка, определяющая оператор (или группу операторов), с которого будет продолжено выполнение программы. Метка – это любой допустимый идентификатор VBA, за которым обязательно должно следовать двоеточие.

 

Public Sub Опер_GoTo()

Пароль = InputBox("Введите Ваш пароль")

If Пароль <> "ABC" Then GoTo Неверный_пароль

MsgBox ("Добро пожаловать, ABC!")

'Другие операторы

Exit Sub

Неверный_пароль:

MsgBox "Вы не можете работать на этой машине"

End Sub

 

В этой процедуре оператор GoTo используется для перехода в особую ветвь программы, предназначенную для обработки ситуации, когда пользователь вводит неверный пароль. Если же пароль будет введен верно (“ABC”), то после вывода приветствия программа представит пользователю доступ к машине для продолжения работы.

Оператор GoTo не пользуется большой популярностью у программистов, поскольку его использование противоречит нормам структурного программирования и часто приводит к появлению ошибок в логике программы. Поэтому оператор GoTo следует применять только в том случае, когда без него никак нельзя обойтись. Обычно в VBA оператор GoTo используется только при обработке ошибок.

 

 

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

 

Select Case <выражение>

Case <список выражений 1>

<операторы 1>

…………..

Case <список выражений N>

<операторы N>

[Case Else

<операторы N+1>]

 

Здесь

<выражение> - любое численное или строковое выражение,

<список выражений i> - представляют список выражений, отделенных друг от друга запятыми или (если в интервале), то in to ik,

<операторы i> - (i=1,N) – операторы, которые выполняются, если <выражение i> совпадает с любым компонентом <список выражений i>,

[Case Else

<операторы N+1>] необязательная конструкция.

 

Работа:

· Вычисляется <выражение>

· Если значение <выражение> совпадает со значением из Case <список выражений i>, то выполняются соответствующие <операторы i> и затем управление передается на оператор следующий за оператором Select Case

· Если значение <выражение> не совпадает ни с одним из Case <список выражений i>, то при наличии конструкции Case Else выполняются <операторы N+1>. Если конструкция Case Else отсутствует, то сразу выполняется оператор, следующий за оператором Select Case

 

Пример:

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

 

Public Sub Оператор_Select_Case1()

Dim n_day As Integer

Dim day As String

n_day = CInt(InputBox("Введите номер дня недели"))

Select Case n_day

Case 1 To 5

day = "Рабочий день"

MsgBox "Сегодня - " & day, vbOKOnly + vbInformation

Case 6

day = "Суббота"

MsgBox "Сегодня - " & day, vbOKOnly + vbInformation

Case 7

day = "Воскресенье"

MsgBox "Сегодня - " & day, vbOKOnly + vbInformation

End Select

End Sub

 

 

Public Sub Оператор_Select_Case2()

Dim n_day As Integer

Dim day As String

n_day = CInt(InputBox("Введите номер дня недели"))

Select Case n_day

Case 6

day = "Суббота"

MsgBox "Сегодня - " & day, vbOKOnly + vbInformation

Case 7

day = "Воскресенье"

MsgBox "Сегодня - " & day, vbOKOnly + vbInformation

Case Else

day = "Рабочий день"

MsgBox "Сегодня - " & day, vbOKOnly + vbInformation

End Select

End Sub

 

<== предыдущая лекция | следующая лекция ==>
Оператор безусловного перехода GoTo | Операторы повтора
Поделиться с друзьями:


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


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



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




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