
- •2. Блок ввода-вывода.
- •3. Логический блок.
- •4 . Блоки начала и конца блок-схем
- •5.Соединительные блоки
- •Однострочный if.
- •Блочный if.
- •Как назначить макрос кнопке размещенной на рабочем месте так, чтобы щелчок на этой кнопке заставлял выполнить нужный макрос?
- •Создание собственного кода программы.
- •Первая программа на vba. Воспользуемся третьим сценарием. По пунктам запишем наши действия.
- •Как запустить нашу программу из редактора vbа на выполнение?
- •Как из окна редактора попасть на рабочий лист?
- •Где хранятся программы?
- •Циклические алгоритмы.
- •Рассмотрим циклы for … next
- •Найти произведение целых чисел от к до м с шагом 2
- •Циклы с условием do … loop
- •Продолжение знакомства с редактором vba
- •Модули и процедуры.
- •Процедура – подпрограмма
- •Процедура – функция
- •Создание процедур-подпрограмм..
- •Процедура подпрограммы.
- •Как вызвать процедуры из других программ?
- •Передача аргументов в подпрограммы(по ссылке и по значению). Способ1 -Передача по ссылке.
- •Способ2.-Передача по значению.
- •Необязательные параметры в подпрограммах.
- •Процедура функция.
- •Объявления переменных и их области видимости
- •Объявление переменных.
- •Область видимости переменной
- •2) Переменная уровня модуля ( уровня контейнера )
- •Работаем с приложением Excel и его объектами.
- •Объектная модель Excel.
- •Объект Application( приложение в целом).
- •Объект Workbook(рабочая книга)
- •Основные методы объекта workbook
- •Объект Worksheet (Рабочий лист).
- •Основные методы объекта worksheet.
- •Основные свойства рабочих листов
- •Объект Range (диапазон)
- •Основные свойства объекта Range
- •7) Font - шрифт
- •Циклы вида With … Еnd With.
- •Пример.
- •Основные методы объекта Range
- •С объектом Selection можно работать точно так, как с объектом Range: те же свойства и те же методы.
- •Функция Format()
- •Еще раз о функциях val, inputbox Функция Val()
- •Функция InputBox().
- •Задача: проверка на «пустоту».
- •Отладка программ (debugging) Виды ошибок:
- •1)Синтаксические;
- •2)Во время выполнения программы;
- •3)Логические.
- •Точки останова(breakpoints).
- •Пошаговое выполнение программы.
- •Работа со справкой.
- •Окно отладки (Immediate).
- •Окно контрольных значений
- •Массивы
- •Нединамические массивы.
- •Динамические массивы.
- •Ввод, вывод одномерных массивов.
- •Введение массива с помощью функции InputBox (ввод «вручную»).
- •2)Введение массива с помощью генератора случайных чисел
- •Вывод массива.
- •1)Вывод массива в окно отладки
- •2)Вывод массива на рабочий лист
- •3)Вывод массива в окно сообщений
- •Пример1. Найти максимальный элемент в массиве
- •Пример2. Сортировка (упорядочивание) одномерного массива.
- •Двумерные массивы (таблицы или матрицы).
- •Ввод /вывод двумерного массива.
- •1)Ввод с помощью функции Input Box (ввод вручную)
- •2)Ввод с помощью генератора случайных чисел
- •Особенности ввода-вывода двумерных массивов на рабочий лист при работе с vba (excel)
- •Ввод массива
- •Вывод массива на рабочий лист.
- •Обращение к массивам при работе с подпрограммами.
- •Vvod b,n,m,k ‘вызов подпрограммы ввода массива
- •Примеры решения задач, связанных с двумерными массивами.
- •Задача1.Найти сумму элементов под побочной диагональю квадратной матрицы размера n×n.
- •Функции, определяющие границы индексов массивов.
- •Элементы визуального программирования.
- •Панель управления «формы» .
- •Экранные формы.
- •Для того, чтобы вставить форму в наше приложение необходимо выполнить команды:
- •Свойства формы.
- •Этапы разработки визуальных программ.
- •2) Написание кода.
- •Первая визуальная программа «Здравствуй ,мир!»
- •Первый этап ( настраивание свойств формы и элементов управления).
- •Второй этап ( написание кода).
- •Как запустить наше приложение из окна редактора vba?
- •Как сделать так, чтобы наша форма запускалась с рабочего листа?
- •Программа “Курс доллара”.
- •События формы.
- •Переключатель (Option Button)
- •Флажок или индикатор (Check Box)
- •Полоса прокрутки (ScrollBar)
- •Пример1. Программа «скорость».
- •Пример 2. «Утоляем жажду».
- •Элемент управления «рисунок» (Image)
- •Элемент управления «список» (ListBox)
- •Поле со списком, или комбинированный список(Combobox)
- •Пример использования.
- •Static – объявление переменной статической.
- •Дополнительные элементы управления.
- •Работа с файлами последовательного доступа
- •Открыть файл последовательного доступа можно в трёх режимах:
- •Открытие файла.
- •Закрытие файла ( оператор close).
- •Формат оператора input:
- •Операторы вывода в файл print и write
- •Формат функции eof
- •Input#1, X ‘считываем очередной элемент массива
- •Литература.
Циклические алгоритмы.
Использование циклических структур.
Для многократного выполнения одних и тех же действий используют циклические алгоритмы или просто циклы.
Специальные команды, находящиеся в начале и в конце цикла сообщают компьютеру:
Начало и конец повторяющегося набора действий.
Сколько раз, или при каком условии необходимо выполнять нашу группу операций.
Основными циклическими структурами в VBA являются:
1. Циклы: 1) FOR … NEXT (для … следующий)
2) DO … LOOP (делать … петлю)
Рассмотрим циклы for … next
Одна из модификаций данного цикла имеет вид:
FOR< переменная цикла > = <начальное значение> TO < конечное значение>
<действия >
NEXT <переменная цикла>
Соответственно, каждую из приведенных выше строк можно назвать:
(заголовок цикла)
(тело цикла)
(окончание цикла)
Как действует данный цикл?
Переменная цикла (называемая еще счетчиком цикла) принимает свое начальное значение и с этим значением выполняет действия внутри цикла. Обращаем внимание если начальное значение не больше конечного значения. Если больше, то выходим из цикла сразу, не сделав ни одного действия внутри цикла.
По достижению оператора NEXT управление передается на начальный оператор цикла FOR. Переменная цикла увеличивает свое значение на 1, и проверяется, будет ли это значение больше конечного. Если будет больше, то выходим из цикла, если нет – выполняем ещё раз действия цикла и т.д. пока переменная цикла не станет больше конечного значения.
Пример.
Найти сумму всех натуральных чисел от 2 до 1000.
Характерная особенность циклов по нахождению некоторой суммы: вводится переменная, в которой будет накапливаться нужная нам сумма. Первоначальное значение этой переменной равно 0.
В переменной S хранится накапливаемая сума
Замечание 1. В теле цикла запрещается изменять значения переменной цикла.
Замечание 2. Досрочный выход из цикла осуществляется с помощью оператора EXIT FOR.
Цикл типа FOR … NEXT может изменять переменную цикла не только на 1. В общем виде оператор FOR … NEXT имеет вид:
FOR <Переменная цикла> = <начальное знач.>TO <конечное значение>STEP < шаг цикла>
<действия>
NEXT <переменная цикла>
Пример
Найти произведение целых чисел от к до м с шагом 2
К = 10 М = 21
Р = 10*12*14*16*18*20
Характерная особенность циклов, в которых находится произведение: вводится переменная, в которой будет храниться накапливаемое произведение. Первоначальное значение этой переменной должно быть равным 1.
Найти произведение
SUB цикл
К = InputBox (“Ввести К”)
М = InputBox (“Ввести М”)
Р = 1 ‘начальное значение произведения
FOR і = К TO М STEP 2 ‘заголовок цикла
P = P* і
IF P = 0 THEN EXIT FOR ‘Досрочный выход из цикла’
NEXT і ‘окончание цикла’
MSGBOX «произведение равно» & P ‘вывод произведения
END SUB
Замечание.
Шаг цикла может быть не только целым, но и дробным числом. Шаг цикла может быть отрицательным числом. В этом случае выход из цикла при условии, что переменная цикла станет меньше конечного значения.