5 Знакомство с VBA.ppt
- Количество слайдов: 8
Знакомство с VBA. Создание пользовательских функций VBA - Visual Basic for Applications Basic - язык программирования высокого уровня (интерпретатор) Visual - содержит наглядные средства по разработке программ (кодов), упрощающие работу пользователя, позволяет записывать коды с помощью макрорекодера. Applications - приложения к программной системе MS Office. Такими приложениями являются Excel, Word, Access, Power. Point. Зачем нужен VBA? • • • Объединяет (интегрирует) приложения, позволяет управлять работой других приложений не выходя из Excel, внедрять объекты из других приложений; Действия доступные пользователю на рабочем листе составляют 10% от всех возможностей приложения Excel. VBA позволяет автоматизировать работу вашего проекта.
• Одним из средств визуализации разработки проектов в VBA является ИНТЕГРИРОВАННАЯ СРЕДА РАЗРАБОТКИ ПРИЛОЖЕНИЙ. Чтобы попасть в эту среду надо выбрать в пункте меню Сервис Макрос Редактор VBA или нажать одновременно клавиши ALT и F 11. • На экране появятся компоненты редактора VBA: - окно проекта Project – VBAProject -окно свойств Propeties - окно кода - окно форм User. Form - панели инструментов Окно проекта Project – VBA Project показывает структуру вашего проекта (файла). Это окно активизируется в редакторе VBA выбором команды View Project Explorer или кнопкой «Project Explorer» или нажатием клавиш Ctrl +R
Создание пользовательских функций • • Пользовательские функции –это ваши собственные функции, которые добавляются к стандартному списку МАСТЕРА ФУНКЦИЙ (Work. Sheet. Function) в категории «Определенные пользователем» . Эти функции создаются в специальном модуле, сопровождающем объект Work. Sheet. Function. Этот модуль добавляется к проекту с помощью команды Insert Module (Вставить Модуль), в окне проекта он отобразится на уровне вашего приложения. Все коды, написанные в этом модуле, появятся в категории «Определенные Пользователем» МАСТЕРА ФУНКЦИЙ. Итак, добавляем модуль в наш проект (Insert Module) и в окне кода этого модуля пишем тексты программ. Для функций u и w, рассмотренных в Презентации 2. Обратите внимание на то, что используются 2 аргумента – Х и параметр А или В Важно! Текст пользовательской функции нужно писать только в окне кода модуля, но не в окне кода листа. Имя функции должно быть уникально
Некоторые хитрости при записи арифметических выражений в VBA • • • Правила записи арифметических выражений ничем не отличаются от изученных Вами ранее, в Презентации 1 «Начало работы в Excel» Большинство математических функций, таких как sin(x), cos(x), exp(x) – просто набирается на клавивтуре Однако ряд функций – число , ln(x), lg(x), обратные тригонометрические функции – требуют специального подхода: Надо набрать слово Application, нажать клавишу «. » , в появившемся списке выбрать строчку Work. Sheet. Function, нажать клавишу «. » , в появившемся списке выбрать нужную функцию, например, PI В результате получится: Application. Work. Sheet. Function. PI
Созданные таким образом функции можно использовать на рабочем листе, как обычную функцию из списка Мастера Функций. • • • Перейдем на лист « 2 графика» В ячейках F 1 и G 1 введем «u VBA» , «w VBA» Зафиксируем мышь в ячейке F 2 и обратимся к Мастеру Функций В списке категорий выберем «Определенные пользователем» . Эта категория обязательно появится, если Вы создали свою функцию в окне кода МОДУЛЯ Выбираем функцию u и переходим на 2 -ой шаг Мастеру Функций, где в поле х делаем ссылку на ячейку А 2, а в поле а – на ячейку $D$2, не забудьте про абсолютную адресацию (клавиша F 4)
• Заканчиваем работу с Мастером Функций (Ок) и протаскиваем формулу на диапазон F 2: F 18 • Формулы в ячейках диапазона показаны на рисунке Естественно, полученные значения должны совпадать с вычисленными ранее значениями в диапазоне А 2: А 18 • • • То же самое следует проделать с функцией w(x, b) Таким образом, мы научились добавлять свои собственные функции в общий ( в рамках вашего проекта) список функций
Условные операторы VBA Условные операторы имеют 2 формы записи: • 1) В одну строку IF < условие> THEN <оператор 1> [ELSE <оператор 2>] IF, THEN, ELSE –служебные неизменяемые слова, в угловых скобках < >текст пользователя, это то, что вы пишете в соответствии с заданием, в квадратных скобках [ ] необязательная часть, текст может отсутствовать. • • Такая форма обычно используется в случае простых действий, например, при вычислении модуля числа y= х = abs(s) можно использовать следующий оператор: IF x > 0 THEN y = x ELSE y = -x 2) В несколько строк. В этом случае условный оператор обязательно заканчивается утверждением “END IF” IF <условие> THEN <оператор 1> <оператор 2> … ELSE <оператор 3> <оператор 4> … END IF Такая форма используется при сложных вычислениях, например, при вычислении корней квадратного уравнения. Пусть надо найти корни уравнения a*x 2 + b*x + c = 0. Как известно в случае если b 2 -4*a*c ≥ 0, то корни вычисляются по формуле , если b 2 -4*a*c ≤ 0, то корней в области действительных чисел нет. Условный оператор, реализующий этот алгоритм, выглядит следующим образом: IF b^2 -4*a*c >= 0 THEN X 1 = (-b + (b^2 - 4*a*c)^(1/2)) / (2*a) X 2 = (-b + (b^2 + 4*a*c)^(1/2)) / (2*a) ELSE X 1 = “ РЕШЕНИЯ НЕТ” X 2 = “ РЕШЕНИЯ НЕТ” END IF
Рассмотрим пример со сложной функцией z. Эта функция принимает разный вид на разных промежутках числовой оси. Поэтому с помощью условных операторов следует разделить промежутки х<0, 0<=x<1, x>=1 Function z(x) If x < 0 Then z = (1 + x ^ 2) / (1 + x ^ 2) Else If x < 1 Then z = (1 + 2 * x / (1 + x ^ 2)) ^ (1 / 2) Else z = 2 * Abs(0. 5 + Sin(x)) End If End Function К моменту выполнения данного оператора значение х уже будет неотрицательным, достаточно записи IF x<1. Запись If <=0 x<1 неправильная
5 Знакомство с VBA.ppt