Введение_EXCEL_VBA .pptx
- Количество слайдов: 90
Консультации: 2 -я Суббота 10. 00 - 11. 30 ауд. 311 -1
1 семестр - контрольная работа, экзамен 2 семестр - контрольная работа, зачет В I семестре предусмотрено изучение: 1. Word 2. Excel 3. VBA (Visual Basic for Application) 4. Math. CAD Контрольная работа № 1 должна быть сдана в ноябре!!! 2
1. Пустовалова, Н. Н. Информатика и компьютерная графика : учеб. -метод. пособие / Н. Н. Пустовалова, Т. В. Кишкурно – Минск : БГТУ, 2010.
1 ЛКМ – 1 щелчок левой кнопкой мыши 2 ПКМ – 2 щелчка правой кнопкой мыши Контекстное меню вызывается 1 ПКМ по объекту, содержит команды для работы с объектом. 4
Табличный процессор EXCEL
Диапазон ячеек Диапазон – прямоугольная область электронной таблицы. Задается адресами начальной и конечной ячейки, разделенных двоеточием. Например, (A 1: D 7), (B 2: E 10) 7
Диапазон A 1: D 7 8
Диапазон B 2: E 10 9
Ссылки в Excel Ссылка – адрес ячейки в формуле. Ссылка Виды ссылок в Excel : – Относительные (A 3), – Абсолютные ($A$3), – Смешанные (A$3, $A 3) 10
При копировании A 3 изменяется $A$3 не изменяется A$3 изменяется столбец $A 3 изменяется строка Для создания абсолютной ссылки можно использовать клавишу F 4 (нажимать F 4 до преобразования адреса к нужному виду).
Основные функции СУММ(x; y; …) - cумма чисел x, у СУММ(A 1: A 8) - cумма чисел из диапазона МИН - минимум МАКС - максимум СРЗНАЧ - среднее ABS(x) – модуль х Корень(x) или x^(1/2) – 12
Sin(x) – Sin x Cos(x) – Cos x Ln(x) – натур. логарифм Exp(x) – (экспонента x) - ex 13
Аргументы функций разделяются точкой с запятой ( ; ) Примеры СУММ(A 2: B 4) - один аргумент диапазон ячеек СУММ(A 2; B 4; C 6) - три аргумента – отдельные ячейки 14
Функция ЕСЛИ(условие; знач_истина; знач_ложь) вычисляет значения в зависимости от выполнения условия =ЕСЛИ (ср балл>10; 150000; 0) =ЕСЛИ (A 2>10; abs(B 2 -1); Корень(B 2)) 15
Вставка функции ЕСЛИ 16
Знакомство с VBA
VBA (Visual Basic for Application) − это объектно-ориентированный язык программирования, встроенный во все программы Microsoft Office.
Создание проекта программы на VBA состоит из 2 этапов: 1. размещение элементов управления на рабочем листе Excel или на форме пользователя 2. написание текстов процедур для этих элементов
Основные элементы управления Кнопка - Command. Button Поле со списком - Combo. Box Поле - Text. Box Надпись - Label
Кнопка Поле со списком Надпись Поле
Элементы управления находятся на вкладке Разработчик
Для добавления на ленту вкладки Разработчик 1. Кнопка Оffice 2. Кнопка Параметры Excel 3. Флажок Показывать вкладку «Разработчик» на ленте. 4. Кнопка Вставить
Кнопка
Свойства командных кнопок Caption – название Font – шрифт Fore. Color – цвет букв Back. Color – цвет фона
Задаются в окне свойств Properties В контекстном меню кнопки выбрать команду Свойства
Чтобы запустить программу на выполнение надо: 1. Отключить кнопку Режим конструктора на вкладке Разработчик 2. Щелкнуть 1 ЛКМ по элементу управления Кнопка
Чтобы изменить текст программы надо: 1. Включить Режим конструктора на вкладке Разработчик 2. Щелкнуть 2 ЛКМ по элементу управления Кнопка или 1 ПКМ по элементу управления Кнопка и выбрать команду Исходный текст
Сохранять файл необходимо как Книга Excel с поддержкой макросов Файл сохраняется с расширением XLSM, например primer 1. xlsm
Если программы не запускаются после открытия файла, необходимо включить макросы. Для этого: Вкладка Разработчик / Кнопка Безопасность макросов Отметить кнопку Включить все макросы. Закрыть файл и запустить его снова.
Запуск редактора VBA 1 способ: 2 ЛКМ по созданной Кнопке 2 способ: 1 ПКМ по созданной Кнопке / Исходный текст 3 способ: Кнопка Visual Basic на ленте Разработчик 4 способ: Alt + F 11
Текст программы
Запуск программы на выполнение Остановить выполнение программы Приостановить выполнение
Ошибка в программе
Программирование в среде VBA Синтаксис, основные конструкции
Программа на VBA представляет собой последовательность команд (операторов), выполнение которых приводит к решению поставленной задачи. Переменная – область памяти, используемая для хранения данных, значения которых можно изменять по ходу выполнения программы. Все переменные имеют имя и значение.
Требования к имени переменной Имя начинается с буквы; не содержит точек, пробелов, разделительных символов, знаков операций, специальных символов Примеры A 1 = 2. 4 Sum = A 1
Объявление переменной Для объявления переменной используется оператор Dim. Он резервирует место в памяти для хранения переменной, объем памяти зависит от типа переменной. Dim < имя > As < тип > Примеры Dim x As Integer Dim k 2 As Single
Типы переменных Integer – целые числа (диапазон значений от -32 768 до 32 767), объем памяти 2 байта; Single – вещественные (дробные) числа (диапазон значений: от 3, 402823 Е+38 до 1, 401298 Е– 45), объем памяти 4 байта.
Большие по модулю и близкие к нулю числа записываются в экспоненциальном виде: например, 4, 78 E+5, что означает 4, 78·105 7, 34 E-6, что означает 7, 34·10 -6.
String – символьные (строковые) значения, каждый символ требует объем памяти в 1 байт. Длина строки символов от 1 до 64 Кбайт; Variant – используется для хранения любых данных, требует объем памяти в 8 байт.
Константы в VBA Типы констант в VBA: символьные, целые числа, вещественные числа. Const <имя константы> = <выражение> Примеры Const x = 5 (целое число) Const a = “Студент” (символьная) Const с2 = 4. 235 E-2 (вещественное число)
Математические операции в VBA Обозна Математическая Приори чение операция тет () Вызов функции и 1 скобки ^ Возведение в степень 2 – Изменение знака числа 3 / Деление 4 * Умножение 4
Mod – + Целая часть от деления Остаток от деления Вычитание Сложение 5 6 7 7
Операции работы со строками В VBA только одна операция работы со строками – это объединение (конкатенация) строк. Знак операции & (амперсанд) или + Пример: Результат: “Студент” & “Иванов” или “Студент” + “Иванов” “Студент. Иванов”
Встроенные функции • Atn(n) • Cos(n) • Sin(n) • Tan(n) • Sqr(n) • Abs(n) arctg(n) cos n sin n tg n n
Log(n) ln n Exp(n) en • Str(n) - число n преобразует в строку • Val(s) - строку символов s преобразует в число
cos(x)^2 – cos 2 x sin(x^2)^2 sin(x^2) - 2 x 2 sinx
Вычисление логарифма
Арифметические выражения Запись на VBA sin(3*x)+(log(x-1)+tan(x))/(x^3+ exp(x+3))^(1/4)
1. 2. 3.
1. Exp(x+1) - cos(x)^2 2. Abs(exp(n-3)) - sin(a^2)^2 - sqr(cos(2*b)) 3. Atn(3+a^3) – (2*cos(2*a)^2 -b)/ (Sqr(abs(a*b-20))-b)
Exp^(x+1) ОШИБКА Sin^(a) НЕ ПРАВИЛЬНО Cos*(b) НЕ ВЕРНО
Операторы в VBA 1) Dim 2) Оператор присваивания Имя. Переменной = Выражение Примеры a 1 = 34. 7 a 2 = sin(a 1)^2+20 a 3 = a 1 + a 2.
В одной строке можно помещать несколько операторов, разделяя их двоеточием «: » . a = 24 : x = x + 1 Длинный оператор можно разбить на несколько строк, используя пробел и символ подчеркивания « _» Msg. Box “Первая строка” _ “Вторая строка” Символьные значения заключаются в кавычки S = “Привет”
Комментарии в VBA Примеры ' Это текст комментария или Rem Это текст комментария x = x + 1 ‘ переменная х увеличивается на 1 n = n + 2 Rem переменная n увеличивается на 2
Объекты VBA Workbooks Worksheets Cells Range - рабочая книга, рабочий лист, ячейки, область
Worksheets(“Пример”) – рабочий лист с именем “Пример” Worksheets(“Лист1”) – рабочий лист с именем “Лист1”
Номер строки Номер столбца Ячейка A 4 – Cells(4, 1) или Range(“A 4”) Ячейка C 2 – Cells(2, 3) или Range(“C 2”)
Любая программа состоит из 4 этапов: 1. Объявление всех переменных (исходных и содержащих результаты вычислений) 2. Ввод исходных данных 3. Вычисления по формулам 4. Вывод результатов
Ввод данных Ввести исходные данные можно: 1. С помощью команды Inputbox c клавиатуры во время выполнения программы a = Val(Inputbox(“Введите а”))
2. Непосредственно в командой присваивания a = 45 prim = 6. 87 s = 2. 43 E-5 программе
3. Из ячеек таблицы Excel a = Worksheets(“Имя”). Cells(3, 2) Или a = Worksheets(“Имя”). Range(“B 3”)
Вывод данных Вывести данные можно: 1. С помощью команды Msg. Box отдельное окно Msg. Box (“а=” & a) в
2. В ячейки таблицы Excel Worksheets(“Имя”). Cells(3, 2) = a Или Worksheets(“Имя”). Range(“B 3”) = a
Окно ввода Input. Box a=Val(Input. Box(“Введите значение переменной x. . . ”))
Чтобы вывести число в нужном виде, используют функцию Format (x, “##. #”) 1 знак после запятой Format (x, “##. ##”) 2 знака после запятой Format (x, “##. ###”) 3 знака после запятой Примеры Msg. Box Format(a, “##. #”) Cells(3, 2) = Format(a, “##. ##”)
Вывод в диалоговое окно Msg. Box x
Msg. Box Format(x, “##. ##”)
Msg. Box "Значение x=" & x
Msg. Box "Значение x=“ & Format(x, “##. ##”)
Пример Для x=1, 5 a=3, 75 m=0. 5 10 -4 вычислить выражения:
Формула в ячейке листа для вычисления w =0, 5*КОРЕНЬ(C 8*C 9*ABS(1 C 10^2)) Формула в ячейке листа для вычисления z =COS(LN(ABS(D 14))/(2+D 14))
Для кнопки «Вычислить» . Пример 1. Dim x As Single, a As Single, m As Single, w As Single, z As Single x = Worksheets("Лист2"). Range("c 8") a = Worksheets("Лист2"). Range("c 9") m = Worksheets("Лист2"). Range("c 10“) w = 0. 5 * Sqr(x * a * Abs(1 - m * m)) z = Cos(Log(Abs(w)) / (2 + w)) Worksheets("Лист2"). Range(“d 15") = w Worksheets("Лист2"). Range(“e 15") = z
Пример 2. Dim x As Single, a As Single, m As Single, w As Single, z As Single x = Worksheets("Лист2"). Cells(8, 3) a = Worksheets("Лист2"). Cells(9, 3) m = Worksheets("Лист2"). Cells(10, 3) w = 0. 5 * Sqr(x * a * Abs(1 - m * m)) z = Cos(ln(w )/ (2 + w)) Worksheets("Лист2"). Cells(15, 4) = w Worksheets("Лист2"). Cells(15, 5) = z
Пример 3. Ввод значений через Input. Box Dim x As Single, a As Single, m As Single Объявлени переменны Dim w As Single, z As Single x = Val(Input. Box(“Введите x “)) a = Val(Input. Box(“Введите a”)) m= Val(Input. Box(“Введите m”)) w = 0. 5*Sqr(x*a*Abs(1 - m ^2)) z = Cos(Log(w)/( 2 + w)) Msg. Box “w=” & w Msg. Box “z=” & z Ввод исходных данных с помощью Input. Box Вычисления по формулам Вывод результатов
Очистка ячейки A 2 Range( «A 2"). Clear Или Range( «A 2")=“”
Для кнопки «Очистить» : Worksheets("Лист2"). Range(" d 15 "). Clear Worksheets("Лист2"). Range(" e 15 "). Clear Очистка всех ячеек: Worksheets("Лист2"). Сells. Clear
Ввод переменной х из ячейки листа A 1 x=Worksheets("Лист1"). Range("A 1") или x=Worksheets("Лист1"). Cells(1, 1)
Вывод переменной х в ячейку листа A 1 Worksheets("Лист1"). Range("A 1") = x или Worksheets("Лист1"). Cells(1, 1) = x
Ввод переменной х из ячейки листа Excel x=Worksheets(“Иванов”). Range("A 1") Имя листа Имя ячейки на указанном листе Или x=Worksheets(“Иванов”). Cells(1, 1) Ячейка с указанием номера строки и столбца
Пример Private Sub Command. Button 6_Click() x = 10 Worksheets("Лист1"). Range("A 3") = x x=5 Worksheets("Лист1"). Cells(5, 1) = x End Sub
Введение_EXCEL_VBA .pptx