- •2. Блок ввода-вывода.
- •3. Логический блок.
- •4 . Блоки начала и конца блок-схем
- •5.Соединительные блоки
- •Однострочный if.
- •Блочный if.
- •Как запустить нашу программу из редактора vbа на выполнение?
- •Как назначить макрос кнопке размещенной на рабочем месте так, чтобы щелчок на этой кнопке заставлял выполнить нужный макрос?
- •Создание собственного кода программы.
- •Первая программа на vba. Воспользуемся третьим сценарием. По пунктам запишем наши действия.
- •Как из окна редактора попасть на рабочий лист?
- •Где хранятся программы?
- •Циклические алгоритмы.
- •Рассмотрим циклы 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)
- •Полоса прокрутки (ScrollBar)
- •Пример1. Программа «скорость».
- •Флажок или индикатор (Check Box)
- •Пример 2. «Утоляем жажду».
- •Элемент управления «рисунок» (Image)
- •Элемент управления «список» (ListBox)
- •Поле со списком, или комбинированный список(Combobox)
- •Пример использования.
- •Static – объявление переменной статической.
- •Дополнительные элементы управления.
- •Работа с файлами последовательного доступа
- •Открыть файл последовательного доступа можно в трёх режимах:
- •Открытие файла.
- •Закрытие файла ( оператор close).
- •Формат оператора input:
- •Операторы вывода в файл print и write
- •Формат функции eof
- •Input#1, X ‘считываем очередной элемент массива
- •Литература.
Циклы с условием do … loop
Р
азличают
четыре модификации цикла.
1.DO
<действия>
LOOP while <условие>
да
нет
2.DO
<действия>
LOOP until <условие>
Нет
да
Действие внутри цикла 1 происходит до тех пор, пока условие выполняется. Действие внутри цикла 2 происходит до тех пор, пока условие не выполняется.
Отметим, что первый и второй тип цикла DO … LOOP выполняется хотя бы один раз.
3.DO while <условие>
<действия>
LOOP
4.DO until <условие>
<действия>
LOOP
Отметим, что действия в циклах 1),2) выполняются хотя бы один раз, в то время как в циклах 3),4) могут не выполнятся ни разу.
Замечание1. Отметим, что в циклах типа DO … LOOP необходимо самостоятельно создать изменяющуюся внутри цикла переменную, которая бы «следила» за окончанием работы, т.е. за соблюдением условий выхода.
Замечание2. В случае зацикливания воспользуйтесь комбинацией клавиш
<CTRL>+<BREAK> или <CTRL>+<ALT>+<DEL> для экстренной остановки программы
Замечание3. Досрочный выход из цикла осуществляется оператором EXIT DO
Пример.
Известно,
что
Наша
задача найти сумму данного ряда с нужной
точностью, т.е. чтобы вычисленная сумма
отличалась от значения
не более чем заданное число, называемое
точностью. Данную сумму можно представить
как сумму вида
sin
x=u1+u2+…+un+…,
где un –n-тый
член ряда, причём
Формулу, которая выражает п+1-тый член ряда через п-тый, называется рекуррентной.
Из курса математики известно, что сумма «хвоста » ряда, начиная с п+1, по модулю не превосходит модуля п-того члена. Поэтому подсчет суммы достаточно вести до тех пор, пока модуль п-того члена не станет меньше точности. За точность обычно выбирают близкое к нулю положительное число( вида 10-6 или 10-8 или подобное им).
Сколько членов суммы придется взять, заранее неизвестно. Все вычисления проводятся по одной и той же формуле (однотипные вычисления для каждого следующего слагаемого). Поэтому алгоритмы такого плана называют итерационными (повторяющимися).
Блок-схема.
Фрагмент кода с циклом:
DO
u=-(u*x^2)/(2*n*(2*n+1))
n=n+1
S=S+u
LOOP UNTIL ABS(u) < delta
Продолжение знакомства с редактором vba
При решении задач с использованием VBA требуется создать проект, включающий в себя несколько размеченных компонентов, таких как модули, со встроенными в них процедурами, форм с элементами управления, в Excel с рабочими листами , в Word с документами и т. д. Отметим, что проекты VBA выполняются только с теми приложениями , в которых они созданы(Excel,Word, Access и т.д.) и которые называются основными приложениями.
Не используя основное приложение нельзя создать проект VBA!
Среда разработки приложений, называемая редактор VBA, еще известна как интегрированная среда разработки(IDE).
Среда разработки – это окно, содержащее меню и другие окна ( окно модуля, окно формы, панель элементов управления, окно свойств и.т.д) , используемые при создании проекта.
В редакторе VBA можно открыть «Окно проекта», в котором видны элементы проекта. Так, например, для Excel элементами проекта могут быть рабочие листы, формы, модули, если последние есть. Данные элементы в окне проекта представляются в виде “дерева”, схожего с левой частью программы Windows «Проводник».
Чтобы открыть окно проекта необходимо:
Вид=>окно проекта ( или View=>Progect Explorer) или Ctrl+R
Обращаем внимание, чтобы открыть окно проекта нужно войти в редактор VBA, то есть выбрать команду
Сервис=>Макрос=>Редактор VBA или ALT+F11
Вид «Окна проекта» может быть следующим:
Один из элементов в окне выделен. Чтобы открыть нужный нам элемент дважды щелкните по нему.
Отметим, что при открытом приложении у нас может быть открыто несколько рабочих книг, с элементами которых можно работать как с обычными файлами и папками системы Windows в смысле их копирования и перемещения.
