
- •1.Введение
- •Visual Basic имеет собственную среду программирования, vba использует среду приложения
- •1. Откройте новую рабочую книгу
- •1. Выделите строку, которая начинается с .Name
- •1. Выполним команду Вид/ Панели инструментов/ Формы. Появится панель, как на рис. 5
- •1. Выполните команду Сервис/ Редактор Visual Basic. Откроется окно редактора Visual Basic
- •2. Выберите в меню пункт Insert, а в нём пункт UserForm. Появится новая экранная форма, как на рис. 11
- •1. Выполните команду Вид/ Панели инструментов/ Формы
- •Vba можно использовать для создания собственных функций. Например, можно определить функцию Процент (число), которая будет определять процент от числа.
- •1. Откройте новую рабочую книгу
- •1. В редакторе Visual Basic напишите код процедуры, как на рис. 34
- •2.Запустите её на выполнение и убедитесь в том, что она работает
- •1. В редакторе Visual Basic напишите код процедуры, как на рис. 35
- •2. Запустите её на выполнение и убедитесь в том, что она работает
- •1. В редакторе Visual Basic создайте процедуру и назовите её Цикл
- •2. Введите код процедуры, как на рис. 36
- •3. Запустите её на выполнение и убедитесь в том, что она работает
- •4.8 Сложный циклический процесс с использованием оператора For…Next
- •1. В редакторе Visual Basic введите код процедуры (см. Рис. 39)
- •2. Разобравшись в работе сложного цикла, посмотрите, какие значения принимает переменная произв.
- •1. В редакторе Visual Basic создайте процедуру и назовите её Сумма
- •2. Введите код процедуры, как на рис. 40
- •3. Убедитесь, что ответ равен 1275
- •1. В редакторе Visual Basic создайте процедуру и назовите её Сумма
1. В редакторе Visual Basic напишите код процедуры, как на рис. 35
Рис. 35 Код процедуры Ball с оператором Select Case
2. Запустите её на выполнение и убедитесь в том, что она работает
Вы видите, что код этой процедуры более прост для восприятия, и в случае трёх и более возможных разветвлений в программе лучше использовать оператор Select Case.
Циклический алгоритм
Очень часто в программах надо выполнить определённые операторы несколько раз. Не логично записывать эту последовательность действий 20 или 50 раз подряд. В этих случаях организуют циклические вычисления. Алгоритм называется циклическим, если определенная последовательность шагов выполняется несколько раз в зависимости от заданной величины, которая называется параметром цикла.
Оператор цикла For…Next
Общий вид в алгоритме конструкции оператора For…Next, который позволяет выполнить группу операторов или один оператор заданное количество раз, следующий:
Синтаксис для цикла For…Next следующий:
For I= N1 To N2 Step h
P1
.
. Тело цикла
Pn
Next
Где For(для), To(до), Step(шаг), Next(следующий) - служебные слова VBA, а P1, Pn - операторы. Step является необязательным параметром. Если он опущен в программе, то значение параметра I увеличивается на 1. Параметр Step может быть любым действительным числом, как целым, так и дробным, как положительным, так и отрицательным. Работает оператор For следующим образом:
При первом вхождении в цикл, параметр цикла I принимает значение равное величине нижней границы N1 и выполняется оператор или операторы в теле цикла. Затем значение параметра увеличивается на величину шага и вновь выполняется тело цикла. Подобные действия будут повторяться до тех пор, пока значение параметра цикла не станет больше величины N2, после чего осуществляется выход из цикла.
В качестве примера выполните следующее задание:
1. В редакторе Visual Basic создайте процедуру и назовите её Цикл
2. Введите код процедуры, как на рис. 36
Рис. 36 Код процедуры Цикл
3. Запустите её на выполнение и убедитесь в том, что она работает
Переменная счёт выступает в этом примере в качестве параметра цикла, и будет менять своё значение от 1 до 4. В цикле 4 раза будет появляться окно сообщения за счёт использования функции MsgBox. С помощью значка конкатенации к сообщению будет добавляться значение переменной счёт, а также слово год(а).
Ещё одним примером, демонстрирующим работу оператора For…Next, является решение задачи: Найти сумму целых чисел от 1 до 50.
Код процедуры представлен на рис. 37
Рис. 37 Код процедуры Сумма целых чисел
В этом примере, описав, переменные счёт и сумма как целочисленные, обнуляется значение переменной сумма. Для чего это делается? Мы берём произвольную ячейку памяти компьютера и должны быть уверены в том, что в ней ничего не содержится. Ведь в цикле будет выполняться оператор сумма = сумма + счёт, то есть к тому что было в ячейке сумма прибавляется значение переменной счёт. И мы должны знать, что предварительно туда занесёно значение нуля. В результате запуска процедуры на выполнение Вы получите ответ: 1275.
Рис. 38 Окно с ответом
К рассмотренному примеру мы вернёмся позже, когда будем изучать другие операторы цикла.