
- •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 (Visual Basic for Application)
Составитель Пилипенко Ю.Н., кафедра информатики.
Содержание.
Однострочный IF. 12
Блочный IF. 13
Как назначить макрос кнопке размещенной на рабочем месте так, чтобы щелчок на этой кнопке заставлял выполнить нужный макрос? 16
Создание собственного кода программы. 16
Первая программа на VBA. 16
Воспользуемся третьим сценарием. По пунктам запишем наши действия. 16
Как запустить нашу программу из редактора VBА на выполнение? 17
Как из окна редактора попасть на рабочий лист? 17
Где хранятся программы? 18
Циклические алгоритмы. 21
Рассмотрим циклы FOR … NEXT 21
Найти произведение целых чисел от К до М с шагом 2 22
К = 10 М = 21 22
Р = 10*12*14*16*18*20 22
Циклы с условием DO … LOOP 23
LOOP while <условие> 23
нет 23
LOOP until <условие> 23
LOOP 23
LOOP 24
Продолжение знакомства с редактором VBA 26
Модули и процедуры. 26
Создание процедур-подпрограмм.. 26
Процедура подпрограммы. 27
Как вызвать процедуры из других программ? 28
Передача аргументов в подпрограммы(по ссылке и по значению). 28
Способ1 -Передача по ссылке. 28
Способ2.-Передача по значению. 28
Необязательные параметры в подпрограммах. 30
Процедура функция. 31
Объявления переменных и их области видимости 32
ОБЪЯВЛЕНИЕ ПЕРЕМЕННЫХ. 32
OPTION EXPLICIT- 33
ОБЛАСТЬ ВИДИМОСТИ ПЕРЕМЕННОЙ 33
Работаем с приложением Excel и его объектами. 34
Объектная модель Excel. 35
Объект Application( приложение в целом). 35
Объект Workbook(рабочая книга) 36
Основные методы объекта workbook 36
Объект Worksheet (Рабочий лист). 37
Основные методы объекта worksheet. 37
Основные свойства рабочих листов 37
Объект Range (диапазон) 38
Основные свойства объекта Range 38
Циклы вида With … Еnd With. 39
При работе со свойствами некоторого объекта целесообразно использовать цикл With … end with для того, чтобы каждый раз не записывать полное имя объекта. 39
Структура цикла имеет вид: 39
1) With < имя объекта > -указать с каким объектом работает 39
2) .( свойство )= значение что делаем 39
3) End with Окончание цикла 39
Пример : 39
With Range (“A1”).Font 39
.Size =14 39
.Name =” Times New Roman” 39
.Style = “Bold “’ полужирный 39
End with 39
8) Formula – возвращает формулу в формате А1 основной (англоязычной) версии VBA. 39
Пример: 39
Запишем в ячейке C4 формулу, суммирующую содержимое ячеек C2 и D8. 39
Range (“C4”). Formula = “= C2+D8” 39
Запишем в ячейке А3 формулу, суммирующую переменную х и число 5. 39
Range (“A3”). Formula = x+5 39
Обратите внимание, что формула, использующая адрес ячейки, начинается со знака «=», и обрамляется кавычками. 39
Запишем в ячейке А4 формулу, суммирующую значения из диапазона B1:D4. Обратите внимание с помощью какой функции записывается сумма чисел диапазона B1:D4. 39
Range (“A4”). Formula = “=sum(B1:D4)” 39
9) Formula R1C1- возвращает формулы основной (англоязычной) версии VBA в формате R1С1 (R-ROW-строка, C-COLUMN столбик) 39
Пример. 39
Range (“C4”). Formula R1C1 =”=R2C3 + R8C4” ‘ в ячейке С4 складывается содержимое ячеек C2(R2C3 вторая строка, третий столбик) и D8(R8C4). Отметим, что адреса ячеек C2 и D8 абсолютные. При использовании относительной или смешанной адресации в квадратных скобках записывается смещение относительно ячейки, в которой записывается формула. 39
Range(“C5”). FormulaLocal R1 C1= “=сумм(R[-4]C[1]:R[-1]C[1]) 40
40
Основные методы объекта Range 40
С объектом Selection можно работать точно так, как с объектом Range: те же свойства и те же методы. 40
Функция Format() 42
Еще раз о функциях val, inputbox 43
Функция Val() 43
Функция InputBox(). 43
Задача: проверка на «пустоту». 45
Отладка программ (DEBUGGING) 45
Виды ошибок: 45
Точки останова(breakpoints). 46
Пошаговое выполнение программы. 46
Работа со справкой. 47
Окно отладки (Immediate). 47
Окно контрольных значений 48
Массивы 48
Нединамические массивы. 49
Динамические массивы. 49
Ввод, вывод одномерных массивов. 49
Введение массива с помощью функции InputBox (ввод «вручную»). 50
2)Введение массива с помощью генератора случайных чисел 50
Вывод массива. 51
1)Вывод массива в окно отладки 51
2)Вывод массива на рабочий лист 51
3)Вывод массива в окно сообщений 52
Пример1. Найти максимальный элемент в массиве 52
Пример2. Сортировка (упорядочивание) одномерного массива. 53
Двумерные массивы (таблицы или матрицы). 55
Ввод /вывод двумерного массива. 55
Особенности ввода-вывода двумерных массивов на рабочий лист при работе с VBA (EXCEL) 56
Ввод массива 56
Вывод массива на рабочий лист. 56
Обращение к массивам при работе с подпрограммами. 56
Примеры решения задач, связанных с двумерными массивами. 57
Задача1.Найти сумму элементов под побочной диагональю квадратной матрицы размера n×n. 58
Функции, определяющие границы индексов массивов. 60
Элементы визуального программирования. 60
Панель управления «формы» . 61
Экранные формы. 61
Для того, чтобы вставить форму в наше приложение необходимо выполнить команды: 61
Свойства формы. 62
Этапы разработки визуальных программ. 63
1)- этап визуального программирования. 63
2) написание кода. 63
Первая визуальная программа «Здравствуй ,мир!» 63
Первый этап ( настраивание свойств формы и элементов управления). 64
Второй этап ( написание кода). 64
Как запустить наше приложение из окна редактора VBA? 65
Как сделать так, чтобы наша форма запускалась с рабочего листа? 65
Программа “Курс доллара”. 66
События формы. 67
Переключатель (Option Button) 68
Флажок или индикатор (Check Box) 69
Полоса прокрутки (ScrollBar) 69
Пример1. Программа «скорость». 70
Пример 2. «Утоляем жажду». 72
Элемент управления «рисунок» (Image) 75
Элемент управления «список» (ListBox) 76
Поле со списком, или комбинированный список(Combobox) 78
Пример использования. 78
STATIC – объявление переменной статической. 80
Дополнительные элементы управления. 81
Работа с файлами последовательного доступа 81
Открыть файл последовательного доступа можно в трёх режимах: 82
Открытие файла. 82
Закрытие файла ( оператор CLOSE). 82
Формат оператора INPUT: 83
Операторы вывода в файл PRINT и WRITE 83
Формат функции EOF 84
Литература. 86
Основы программирования.
Язык программирования VBA встроен и может быть использован в любом офисном приложении.
Для чего нужен VBA?
Используя VBA, мы можем создавать собственные приложения для реализации конкретных задач, возникающих перед нами.
Используя VBA, мы сможем готовить и использовать новые функции, работающие с числами, таблицами, текстами, и которых нет среди стандартных функций.
Все задачи, решаемые машиной и человеком, можно представить себе как задачи, работающие по следующей схеме:
Ввод информации.
Обработка информации.
Вывод информации.
Для того чтобы обработать информацию, мы, зная возможности компьютера, должны составить план действий для решения нашей задачи.
Алгоритмы и блок-схемы. Основные обозначения и правила построения блок-схем
Алгоритмом решения задачи называется последовательность действий, которая за конечное число шагов приводит к решению задачи.
Одним из способов описания алгоритма есть графический способ, когда задача записывается с помощью блок-схемы.
Блок-схема представляет собой набор связанных между собой геометрических фигур, каждая из которых определяет некоторую последовательность действий.
Основные обозначения и правила построения блок-схем.
Блок-схемы рисуются сверху вниз, вход в блок сверху, выход – снизу.
1, Вычислительный блок. Изображается прямоугольником.
Комментарий. Внутри фигуры записаны формулы по преобразованию переменных
Когда мы говорим о переменной в программировании, то это означает, что в памяти машины выделяется место, где данная переменная будет храниться. Выражение вида х=х+2 необходимо понимать следующим образом: извлекается содержимое переменной Х и к нему прибавляется число 2, то есть выполняется правая часть нашего равенства. После этого, получившееся число, заносится в то место, где хранится переменная Х. В нашем случае, запись х=х+2 означает, что переменная Х увеличилась на 2 единицы.
2. Блок ввода-вывода.
Комментарий. Внутри фигуры записано, что мы вводим(выводим)
3. Логический блок.
Комментарий. Внутри фигуры записано логическое выражение. Если оно принимает значение «истина», то дальнейшая обработка потока идёт по ветви «ДА», если «ЛОЖЬ», то по ветви «НЕТ».
п
ример
да
нет
Точка соединения
потоков
Легко видеть, что после прохождения по блок-схеме y=25.
4 . Блоки начала и конца блок-схем
Комментарий. Внутри фигуры записаны начало(конец) блок-схемы.
5.Соединительные блоки
Комментарий. В кругах записаны номера операторов, к которым мы переходим в зависимости от значения логического выражения.
да
нет
Контрольный пример.
При написании программ, возможно, будет допущена
Контрольный пример - это пример, который готовится вне программы. Данные контрольного примера необходимы для тестирования программы, т. е. правильно она работает или нет
Обращаем внимание на то, что если в программе есть условные операторы, то контрольный пример должен быть таким, чтобы обеспечить проход программы по каждой из ветвей нашего алгоритма.
Если результаты контрольного примера совпадают с результатами работы программы, то есть основания полагать, что программа работает правильно.
Пример1. Нарисовать блок-схему решения уравнение а * х + в = с, где а, в, с- некоторые числа
Ясно, что если а не равно 0, то Х=( с -в):/а
да
нет да
нет
Контрольный пример
а=2, в=3, с=4, х=0.5
а=0, в=2, с=2, Х любое число
а=0, в=2, с=3, нет решений
Пример 2 Составить блок-схему вычисления функции по формулу вида
EMBED
Equation.3
Контрольный пример
У(-5)=-4
У(0)=1
У(4.5)=3.5
Y(3)-неопределенна
Блок-схема алгоритма.
3
4
5
При дальнейшем изучении программирования мы будем вводить новые блоки по мере надобности.
Переменная.
Переменная содержит информацию о числе, дате, тексте, или об объекте и т.д. Имя переменной может содержать до 255 символов из букв, цифр и символов подчеркивания. Имя любой переменной обязательно начинается с буквы.
При использовании переменных запрещается использовать служебные слова, закреплённые за
названиями функций, операторов и других объектов. Если переменная не использовалась, то по умолчанию её значение равно О.
Основные арифметические операции при работе с Visual Basic:
“ + ”, “-”, “ * ”, “ / ”, “ ^ ”( соответственно: сложение, вычитание, умножение, деление, возведение в степень).
Основные математические функции
Замечание: обращаем внимание на то, что аргумент любой функции должен быть взят в круглые скобки.
1. Int – целая часть х, обозначение Int(х). В математике обозначение [x], например, [3,3] =3
[-3,3]= -4
Х=Int (-5.6) (результат Х= -6)
Fix() –функция аналогичная Int(). Различаются при работе с отрицательными числами. Fix() просто отбрасывает дробную часть.
Например: Х= Fix (-5.6) (результат Х= -5)
2.
АВS ()
-абсолютная величина или модуль числа.
В математике обозначение
ABS (-3) = 3
3. Atn ( ) –аргтангенс числа х ( в радианах )
Atn(1)
=
≈
0,77
4. cos (х) – косинус числа х
5. sin ( ) – синус числа х
6. TAN (х) тангенс числа х
7. EXP (х ) – экспонента числа х EXP(x) = eх, EXP( 5 ) = e5
8.LOG (х) - натуральный логарифм числа х log (x) = LOG (x) ↔ ln x
9. RND ( ) – функция, которая генерирует случайное число из интервала (0;1)
10. SIGN(х ) знак числа
11.SQR
(х ) корень квадратныйиз числа х
sqr (x) ↔
12. A_mod_B
А- целое число
В- натуральное число
Остаток от деления числа А на число В
5 mod 3 → 2
( x=(5 mod 3))↔(x=2)
Если число А делится на число В без остатка, то это означает, что остаток равен 0.
Таблица основных математических функций.
Функция |
Значения, возвращаемые функцией |
Abs(Число) Atn(Число) Cos(Число) Exp(Число) Log(Число) Rnd (Число) Sgn (Число) Sin(Число) Sqr (Число) Tan(Число) Fix(Число) Int(Число) |
Модуль (абсолютная величина числа) Арктангенс Косинус Экспонента (результат возведения основания натурального логарифма в указанную степень) Натуральный логарифм Равномерно распределённое случайное число из интервала (0, 1). Знак числа Синус Квадратный корень числа Тангенс Обе функции Int и Fix отбрасывают дробную часть и возвращают целое число(см. выше) |
Логические операции
AND – логическое “И”
OR – логическое “ИЛИ”
NOT – логическое “НЕ”
Логические операции работают с логическими выражениями. Логические выражения принимают только два значения: ИСТИНА и ЛОЖЬ
Выражение (X_AND_Y) принимает значение истина, тогда и только тогда, когда оба логических выражения принимают значения ИСТИНА.
ПРИМЕР: (х>1) AND (x<5) истина, тогда и только тогда, когда х лежит в интервале от (1;5)
Логическая функция “ИЛИ” (ОR) принимает значение ИСТИНА, тогда и только тогда, когда хотя бы один из аргументов принимает значение ИСТИНА.
ПРИМЕР.
Выражение (х>1) ОR (х<3) – истинно
на всей оси, а (х<1) ОR (х>3) истинно
на объединении интервалов
ввод информации. Функция inputbox
Для того, чтобы при работе программы появилось окно вида
в коде программы нам потребуется запись
X= inputbox(«введите дату», «моя программа»)
После того, как мы в поле, где мигает курсор, введем «7октября» и нажмём кнопку «ОК» переменной Х будет присвоено значение: «7октября», т.е. Х=7октября.
Функция inputbox(«коробка ввода» или «окно ввода») предназначена для введения текста, который вручную вводим в поле, где мигает курсор. Переменная в левой части равенства принимает вводимое значение.
Функция inputbox, аргументы которой обязательно берутся в скобки, может иметь несколько аргументов. Первый аргумент ,обязательный, задаёт подсказку. В нашем случае «введите дату». Второй аргумент (не обязательный) задаёт заголовок окна ввода. Если он отсутствует, то окно имеет заголовок «Microsoft Excel». Третий аргумент (не обязательный), которого в примере нет, задаёт значение в поле ввода. Если оно вас устроит. нажмите «ОК».
Пример.
X= inputbox(«ввести х»)
Вывод информации. Оператор Msgbox.
Оператор Msgbox(коробка сообщения) предназначен для вывода текстовой информации на экран. Простейший вид оператора
Msgbox <строка сообщения>
Например: Msgbox «вася»,
После обработки этой строки кода появляется окно вида
которое исчезнет, после нажатия кнопки «ОК».
Обращаем внимание на то, что при работе с текстом, можно использовать символ склеивания “&”. Например, строки кода:
Х=5
Msgbox «х=» & x
«проявляют» окно вида:
О других аргументах оператора Msgbox поговорим позже.
Логический оператор IF.
Оператор IF может быть двух типов: однострочный и блочный.