Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Оператор выбора



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

Select Case TextExpression

Case Expression1

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

Case Expression2

Группа операторов 2

….

[ Case Else

Группа операторов Else ]

End Select

Здесь: TextExpression – числовое или строковое выражение.

Expression - список из одного или нескольких, разделённых запятыми, выражений следующего вида:

1. Числовое, строковое или логическое выражение.

2. Выражение1 To Выражение2, где ключевое слово То означает диапазон значений от Выражение1 до Выражение2.

3. Is Выражение, где Is означает эквивалентность выражения TextExpressionВыражению, стоящему после Is.

В следующем примере в зависимости от величины введённого числа отображается сообщение, указывающее на величину числа или диапазон, которому оно принадлежит:

Private Sub CommandButton1_Click()

Dim iRes As Integer

iRes = InputBox("Введите целое число")

Select Case iRes

Case 1

MsgBox "1"

Case 2, 3

MsgBox "2 или 3"

Case 4 To 6

End ‘оператор End прекращает выполнение программы

Case Is > 6

MsgBox " Больше 6"

Case Is < 0

MsgBox "Отрицательное число"

End Select

End Sub

3.4. Оператор Goto

Оператор перехода на указанную строку. Его общий вид:

Goto line

где line - метка строки, представляющая собой буквенно-цифровое обозначение, удовлетворяющее правилам составления имён в VBA. Метка строки с двоеточием после неё ставится в начале нужной строки:

line:

Пример:

Sub nn()

Dim Number, MyString

Number = 1

If Number = 1 Then GoTo Line1 Else GoTo Line2

Line1:

MyString = "Number equals 1"

GoTo LastLine ' Переход на строку LastLine.

Line2: MyString = "Number equals 2"

LastLine: Debug.Print MyString

End Sub

Применение оператора Gotoсчитается плохим стилем программирования, поскольку большое количество меток и этих операторов затрудняет отладку программы и делает её трудно читаемой. Практически в любой ситуации можно обойтись без него, используя условные операторы, выбора или циклы. В старых программах на Basicкаждая строка имела метку, независимо от того есть на неё ссылка в программе или нет. Такой стиль поддерживается и в VBAдля совместимости со старыми программами.

3.5. Операторы On Error,Resume, End

Операторы OnErrorи Resumeтакже как условные операторы, оператор выбора, Gotoи циклы относятся к операторам управления ходом выполнения. Они предназначены для контроля и исправления возможных ошибок пользователя.

Оба оператора имеют 3 варианта использования. Оператор OnError:

1. OnErrorGoTo метка – в случае возникновения ошибки управление передаётся на оператор, отмеченный меткой. Этот оператор размещают обычно в самом начале программы, чтобы его действие распространялось на всё тело процедуры. Обработчик ошибок, напротив, помещают в самый конец программы, а перед ним помещают оператор ExitSub, чтобы управление не попадало в обработчик ошибок, если ошибок не было.

2. OnErrorResumeNext в случае возникновения ошибки управление передаётся на оператор, непосредственно следующий за оператором, в котором произошла ошибка.

3. OnErrorGoTo0 отключает обработку ошибок в данной программе.

Оператор Resume:

1. Resume [0] возвращает управление оператору, вызвавшему ошибку.

2. ResumeNext в случае возникновения ошибки управление передаётся на оператор, непосредственно следующий за оператором, в котором произошла ошибка.

3. Resume метка – в случае возникновения ошибки управление передаётся на оператор, отмеченный меткой.

Пример(фрагменткода):

On Error Goto ErrDebug

Numb = InputBox(“Сколько авторов работают в издательстве? ”)

операторы

Exit Sub

ErrDebug:

MsgBox “Неверное значение!”, vbCritical

Resume

Оператор End предназначен для прекращения выполнения программы. Например, оператор

If x < 0.2 Then

End

End If

прекратит выполнение программы, если x<0.2.

Задание 3.3:

При помощи оператора выбора Select Case вычислить функцию f с номером области (функции f1, f2, f3, f4 из таблицы; вариант указывается преподавателем). Номер области и значение функции вывести на экран при помощи диалогового окна вывода. Окно вывода должно иметь три кнопки: "Да", "Нет" и "Отмена". При нажатии кнопки "Да" ваша программа должно вывести на экран значение функции, возведённой в квадрат. При нажатии кнопки "Нет" ваша программа должно вывести на экран удвоенное значение функции. При нажатии "Отмена" - прекратить выполнение. Определение нажатой клавиши - при помощи оператора Select Case. Значения номера области и функции вывести на рабочий лист Excel в ячейки А1 и А2.





Дата публикования: 2015-07-22; Прочитано: 231 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...