- •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 ‘считываем очередной элемент массива
- •Литература.
Задача: проверка на «пустоту».
Если при вводе данных вы ввели «пустую строку», то предусмотреть возможность введения информации еще раз.
D
O
Х =Input box(“ ввести х”)
If x = “” THEN
у = MSG BOX(«Вы ничего не ввели! Хотите ввести число?»,VB YESNO + VbQuestion)
‘ « у » принимает два значения :
‘ у = 6 , если «Да»
‘ у = 7 , если «Нет»
‘На экране кнопки «Да» и «Нет» и пиктограмма
ELSE
EXIT DO
END IF
LOOP UNTIL у = 7 ‘ или у = VBNO
Замечание: Отметим, что при такой проверке переменная х является строковой (символьной). Выражение вида х = Val (Inputbox(«Ввести х»)) при вводе пустой строки присвоит х значение 0 и никакой проверки «на пустоту»не выйдет. Выход при работе с числами: объявите переменную.х переменной типа Variant, сделайте проверку на пустоту с помощью описанного кода, после чего добавьте строку кода х = Val (x).
Отладка программ (debugging) Виды ошибок:
1)Синтаксические;
2)Во время выполнения программы;
3)Логические.
Ошибки первого вида легко исправляются во время написания кода, т. к. они тут же выделяются красным цветом
Если допущена ошибка во время работы программы, программа прерывает работу и выдаётся сообщение о коде ошибке, а на экране появляются четыре кнопки:
«продолжить», «закончить», «отладка», «справка».
При нажатии на кнопку DEBUG строка кода, в которой есть ошибка, выделяется жёлтым цветом. Мы можем:
Посмотреть текущие значения переменной (наведите на переменную «мышь»)
Исправить, если это возможно, ошибку
Вызвать «окно отладки»
Продолжить выполнение работы с текущей или другой строки кода
Замечание. Для того, чтобы «выскакивали» подсказки установите: «СЕРВИС» -«ПАРАМЕТРЫ»-«РЕДАКТОР»-«ПОДСКАЗКИ ЗНАЧЕНИЙ ДАННЫХ»
Если программа «зациклилась», то приостановить её работу, можно используя клавишу «ESC». Досрочно выйти из программы, можно используя комбинации клавиш Ctrl + Break или Ctrl + Alt + Del.
Точки останова(breakpoints).
Для того, чтобы программа во время выполнения остановилась на нужной строке кода, необходимо слева от данной строки в «Редакторе» перед запуском программы щелкнуть мышью. Строка приобретет, например, следующий вид
Слева появляется яркая коричневая точка. Таких точек в программе мы можем сделать столько, сколько нам необходимо и посмотреть, при остановке программы, какие значения у переменных. Снять точку останова можно в редакторе повторным щелчком мыши или командой “Clear all breakpoints” из меню “debug”.
Пошаговое выполнение программы.
При пошаговом выполнение программы программа выполняется строка за строкой. После выполнения очередной строки кода программа находится в режиме ожидания и можно посмотреть, какие значения принимают переменные, по какой ветви программы мы двигаемся и т.д. Выполняемая строка кода выделяется жёлтым цветом. Слева от этой строки расположена стрелка, указывающая, какая строка кода будет выполняться. Мы, мышью, можем передвинуть данную стрелку, изменив ход выполнения программы. Существует несколько режимов пошагового выполнения программы.
1) Step Over («шаг через»)
В данном режиме программа пошагово выполняет все операции, не заходя внутрь вызываемых подпрограмм. Для работы в данном режиме поставьте курсор внутри кода программы и нажмите комбинацию клавиш <shift> + F8. При этом вы выполните одну строку кода.
2) Step Into («шаг внутрь»)
Данный режим аналогичен предыдущему, но с тем отличием, что если есть вызываемые подпрограммы, то мы в них заходим. Для работы в данном режиме поставьте курсор внутри кода программы и нажмите клавишу F8
3) Step Out(«шаг из»)
Данный режим предназначен для выхода из вызываемой подпрограммы, если вы в ней «застряли», что может произойти, когда вы работаете с режимом Step Into. Для работы в данном режиме нажмите комбинацию клавиш <Ctrl> + <Shift> + F8.
Для всех трёх режимов есть соответствующие кнопки в панели инструментов, а именно:
