КАТЕГОРИИ: Архитектура-(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
Дата добавления: 2014-01-05; Просмотров: 418; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |