Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СПС / Лаб_1 (Макрозапись и ИСП VBA) / Методические указания / Пособие к программированию на VBA.doc
Скачиваний:
143
Добавлен:
12.04.2015
Размер:
1.17 Mб
Скачать

1. Откройте новую рабочую книгу

2. Создайте таблицу, показанную на рис. 30

Рис. 30 Рабочий лист с примером

 

3. Вставьте модуль в рабочую книгу

4. Создайте процедуру и назовите её Абитуриент

5. Введите следующий код процедуры:

 

Dim ball As String

ball = MsgBox("Вы хотите поступить в КОЭК?", vbYesNo)

If ball = vbYes Then

Range("b4").Value = "Надо сдать экзамены"

Else

Range("b4").Value = "Идите в ПТУ"

End If

 

6. Перейдите в рабочую книгу

7. Вставьте командную кнопку в рабочий лист. В списке Имя макроса выберите процедуру Абитуриент и щёлкните на кнопке Ок

8. Дайте кнопке новое имя - Вопрос. Получим лист как на рис. 31

Рис. 31 Законченный рабочий лист

 

9. Щёлкните на кнопке Вопрос. Отобразится окно сообщения (рис.32)

Рис. 32 Вопрос, требующий ответа

 

В этом примере значение переменной ball проверяется условным оператором If. После применения оператора Range("b4").Value = "Надо сдать экзамены" в ячейку b4 рабочего листа заносится, то выражение, которое находится справа от оператора присваивания либо - "Надо сдать экзамены", либо - "Идите в ПТУ"

 

Другой пример посвящён более сложной конструкции - многозначным ветвлениям. Но прежде несколько таблиц, содержимое которых пригодится в дальнейшем. Для создания логических условий используются операторы сравнения.

Таблица 5

Оператор сравнения

Его назначение

=

Равно

>

Больше

<

Меньше

>=

Больше или равно

<=

Меньше или равно

<>

Не равно

Таблица 6

Логический оператор

Описание

And (И)

Если оба условия, соединённые этим оператором имеют значение ИСТИНА, то результат - ИСТИНА, в противном случае - ЛОЖЬ

Or (ИЛИ)

Если хотя бы одно из условий, соединённых этим оператором, имеет значение ИСТИНА, то результат - ИСТИНА, в противном случае - ЛОЖЬ

Not (Не)

Если логическое выражение имеет значение ЛОЖЬ, то результат применения к нему этого оператора - ИСТИНА. Если логическое выражение имеет значение ИСТИНА, то результат применения оператора - ЛОЖЬ.

Xor (исключающее ИЛИ)

Если одно и только одно из условий, соединённых этим оператором, имеет значение ИСТИНА, то результат - ИСТИНА. Если оба условия имеют значения ИСТИНА или ЛОЖЬ, то результат - ЛОЖЬ

 

 

  1. Оператор выбора Select Case

 

В следующем примере с помощью вложенных операторов If реализуется задача перевода баллов, набранных студентами в пятибалльную систему оценок.

    1. 1. В редакторе Visual Basic напишите код процедуры, как на рис. 34

 

Рис. 34 Код процедуры Ball

 

2.Запустите её на выполнение и убедитесь в том, что она работает

На этом примере видно, что за счёт вкладывания одного условного оператора в другой, конструкция усложняется, становится тяжёлой для восприятия. В подобных случаях хорошей альтернативой оператору If служит оператор выбора Select Case, который позволяет выбрать одно из нескольких возможных продолжений программы.

 

Синтаксис оператора Select Case следующий:

 

Select Case КлючВыбора

Case Is выражение

оператор

Case диапазон значений

оператор

Case диапазон значений

оператор

Case диапазон значений

оператор

Case Else

оператор

End Select

 

Например:

 

Select Case vozrast

Case Is <=7

Msgbox”Ты дошкольник”

Case 8 to 16

Msgbox”Ты учишься в школе”

Case 17 to 30

Msgbox”Тебе пора заняться делом”

Case 31 to 60

Msgbox”Кто не работает, тот не ест”

Case Else

Msgbox”Вы заслужили отдых”

End Select

 

Если значение переменной vozrast меньше или равно 7, отображается сообщение ”Ты дошкольник”. Если значение переменной vozrast находится в диапазоне от 8 до 16, отображается сообщение ”Ты учишься в школе”. Если значение переменной vozrast находится в диапазоне от 17 до 30, отображается сообщение ”Тебе пора заняться делом”. Если значение переменной vozrast находится в диапазоне от 31 до 60, отображается сообщение ” Кто не работает, тот не ест”. Если значение возраста не равно ни одному из предложенных диапазонов значений, выводится сообщение ”Заслуженный отдых”.