Помощь в написании студенческих работ
Антистрессовый сервис

Конструкции управления. 
Программирование на vba в ms excel

РефератПомощь в написанииУзнать стоимостьмоей работы

Создать программу, которая находит сумму двух чисел, если первое число больше нуля, иначе — находит их произведение. При реализации использовать глобальные переменные, инструкцию If… Then. Результат вывести в стандартное окно MsgBox. Создать программу, которая для заданного значения аргумента х вычисляет значение функции у. При реализации использовать инструкцию Select Case, результат вывести… Читать ещё >

Конструкции управления. Программирование на vba в ms excel (реферат, курсовая, диплом, контрольная)

Часто в программе в зависимости от некоторых условий необходимо выполнить те или иные операторы. Эта возможность в VBA реализуется с помощью управляющих конструкций (или инструкций).

В алгоритмических языках программирования существуют следующие базовые управляющие конструкции: ветвление, обход, выбор, цикл с параметром, цикл с предусловием и цикл с постусловием[1].

Ветвление — структура, в которой в зависимости от некоторого условия выполняется одна или другая часть программы (реализуется оператором IF). Обход — структура, в которой в зависимости от некоторого условия выполняется некоторая часть программы или не выполняется (реализуется оператором IF и GoTo). Выбор — структура, позволяющая «разветвить» программу на несколько частей в зависимости от значения некоторого выражения (реализуется операторами IF или Select Case). Цикл с параметром — структура, позволяющая повторить некоторую часть программы определенное, заранее известное количество раз (реализуется оператором For… Next). Цикл с предусловием, цикл с постусловием — структуры, позволяющие повторять некоторую часть программы, пока соблюдается некоторое условие (реализуется оператором Do… Loop).

Рассмотрим более подробно управляющие структуры. При этом под последовательностью и блоком операторов будем понимать последовательность операторов, выполняющихся один за другим.

Оператор безусловного перехода. Для изменения последовательности выполнения операторов программы может использоваться оператор безусловного перехода. Синтаксис его следующий:

Конструкции управления. Программирование на vba в ms excel.

Вызывает переход к оператору с указанной меткой или номером.

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

Условный оператор. Из нескольких видов условного оператора рассмотрим две его основные разновидности.

Условный оператор IF… THEN. Для реализации выполнения того или иного оператора (или блока операторов) в зависимости от результата проверки определенного условия следует использовать конструкцию, синтаксис которой следующий:

IF логическое_выражение THEN блок_операторов1

[ELSE.

блок_операторов2].

END IF.

Если при проверке логическое_выражение принимает значение True, то будет выполнен блок блок операторов1. Если же при проверке логическое _выражение принимает результат False, то будет выполнен блок блок_операторов2. Инструкция ELSE является необязательной. Передача управления в любом случае осуществляется на следующий после инструкции END IF оператор.

Пример 4.1.

Создать программу, которая находит сумму двух чисел, если первое число больше нуля, иначе — находит их произведение. При реализации использовать глобальные переменные, инструкцию If… Then. Результат вывести в стандартное окно MsgBox.

Последовательность выполнения примера 4.1.

  • 1. Активизируйте приложение MS Excel, создайте (сохраните) новую книгу' под именем MyExIf. Заметим, что для MS Excel, начиная с версии 2000, книгу нужно сохранять с поддержкой макросов (*.xlsm).
  • 2. Войдите в редактор VBA (Alt + FI 1).
  • 3. Правой кнопкой мыши выделите VBAProject (Knnral), где Книга1 — название созданного файла, например MyExIf, и выберите команду Insert —> Module из строки меню или контекстного меню (рис. 4.1).
  • 4. Дважды щелкните по объекту Modulel (рис. 4.2). В результате в правой части окна VBE активизируется окно редактора модуля (появится курсор), в котором можно создавать все необходимые программы.
Добавление нового модуля в папку VBAProject.

Рис. 4.1. Добавление нового модуля в папку VBAProject.

Активизация окна редактора модуля.

Рис. 4.2. Активизация окна редактора модуля.

MsgBox ©.

End Sub.

При объявлении глобальных переменных (согласно условию задачи) надо установить курсор в конец строки Option Explicit, нажать Enter и записать нужные переменные с использованием при необходимости раскрывающегося списка (рис. 4.3).

Объявление переменных модуля.

Рис. 43. Объявление переменных модуля При вводе заготовки создаваемой процедуры (слово Sub) и ее имени (например, MyExIf) появляется конечный оператор процедуры End Sub. Ввести весь текст программы.

6. Для проверки синтаксических ошибок откомпилируйте программу. Для компиляции проекта выполните команду меню: Debug —> Compile VBAProject. Если ошибок нет, запустите приложение на выполнение при помощи кнопки у (Run —" Run Sub) панели инструментов или клавиши F5. Если все выполнено верно, то на экране появится диалоговое окно Msgbox с итоговым сообщением (рис. 4.4).

В данной программе переменной, а присвоено значение меньше нуля, следовательно, должна выполниться инструкция ELSE. Результат выполнения процедуры приведен на рис. 4.4.

Elself Answer = 4 Then Ball = «Хорошо» .

Elself Answer = 3 Then Ball = «Удовлетворительно» .

Else.

Ball = «Неудовлетворительно» .

End if.

MsgBox (Ball).

End Sub.

3. Откомпилируйте программу и запустите ее на выполнение.

В данном примере переменной Answer присвоено значение 4, тогда должна выполниться первая инструкция Elself. Результат выполнения процедуры приведен на рис. 4.5.

Результат работы примера 4.2 при Answer = 4.

Рис. 4.5. Результат работы примера 4.2 при Answer = 4.

Примечание', если в одном модуле находятся несколько процедур, то при запуске на выполнение программы может появиться диалоговое окно выбора макроса (процедуры). Тогда в этом окне следует выбрать нужный макрос, выделить его и нажать кнопку «Run» (рис. 4.6).

Выбор макроса на выполнение.

Рис. 4.6. Выбор макроса на выполнение.

Оператор варианта Select Case. Конструкция Select Case позволяет выбирать одну из нескольких групп инструкций в зависимости от значения выражения. Ее синтаксис выглядит следующим образом:

Select Case выражение

Case список_выражений1 блок_ опера торов_ 1 Case список_выражений2 блок_операторов2

Case список_выражений_п блок_операторов_п [Case Else блок_операторов_п+1 ].

End Select.

Здесь выражение выражение арифметического или символьного типа; список выражений может иметь одну из следующих форм:

  • выражение [, выражение 1…];
  • выражение 1 То выражение2;
  • • Is операция отношения выражение.

Анализируемое выражение должно возвращать значение типа, совместимого с типом значений в строках Case. Значения в строках Case можно указывать явно (в том числе в виде списка через запятую), можно задать диапазон (с помощью ключевого слова То) или использовать операторы сравнения (с помощью ключевого слова Is).

Число вариантов может быть любым. Управление получит та Caseстрока, чье значение совпадет со значением анализируемого выражения. Строку Case Else можно опустить.

Пример 4.3.

Создать программу, которая для заданного значения аргумента х вычисляет значение функции у. При реализации использовать инструкцию Select Case, результат вывести в стандартное диалоговое окно MsgBox. Функция у имеет следующий вид:

Последовательность выполнения примера 4.3.

Последовательность выполнения примера 4.3.

  • 1. Откройте файл MyExIf, созданный ранее в примерах 4.1 и 4.2. Войдите в редактор VBA (Alt + FI 1). В окне проекта дважды щелкните по объекту Modulel.
  • 2. В окне редактора данного модуля необходимо приведенный в листинге 4.3 исходный текст либо добавить к имеющемуся в модуле тексту, либо вставить вместо этого текста.

Листинг 4.3.

Sub MyExSelectO.

Dim х As Single, у As Single.

x = 16.

Select Case x 'выбор

Case 1, 3 'x= 1 или x = 3

у = x A 2.

Case 5 To 10 '5<=x<=10

у = x л 2 / 3 Case Is >= 15 'x>=15

у = x + 3.

Case Is > 10 And x < 14 '1()

у = x + 1.

Case Else 'в противном случае

У = х.

End Select.

MsgBox у.

End Sub.

3. Откомпилируйте программу и запустите ее на выполнение.

В дайной программе переменной х присвоено значение 16, следовательно, должна выполниться третья инструкция Case. Результат выполнения процедуры приведен на рис. 4.7.

Результат работы примера 4.3 при х = 16.

Рис. 4.7. Результат работы примера 4.3 при х = 16.

  • [1] Кондрашов Ю. Н., Лебедев В. М., Мещерякова Н. A. Visual Basic 6.0. Описание языка. Основные элементы управления; Основные возможности Visual Basic 6.0 для работы с файлами, графикой и базами данных / В. М. Лебедев [и др.|; Мельников П. П., Миронова И. В., Шполянская И. Ю. Практикум по экономической информатике. Ч. III; Назаров С. В., Мельников П. П. Программирование на MS VISUAL BASIC; Слепцова Л. Д. Программированиена VBA в Microsoft Office 2010: самоучитель. М.: Диалектика, 2010.
Показать весь текст
Заполнить форму текущей работой