Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Лабораторная работа № 2. Создание программ на VBA с помощью макрорекордера↑ Стр 1 из 8Следующая ⇒ Содержание книги
Похожие статьи вашей тематики
Поиск на нашем сайте
Кафедра КиВТ
МЕТОДИЧЕСКИЕ УКАЗАНИЯ К ЛАБОРАТОРНОЙ РАБОТЕ «ОСНОВЫ ПРОГРАММИРОВАНИЯ НА ЯЗЫКЕ VBA» Севастополь
1.1 Цель работы: Изучение методов создания функций пользователя в EXCEL с использованием Visual Basic for Application (VBA).
Теоретические сведения Простейшей задачей, решаемой на VBA, является создание функций пользователя, имеющих имена. С функциями пользователя можно работать с помощью мастера функций точно так же, как и со встроенными функциями рабочего листа. Создадим, например, функцию пользователя, математически определенную следующим образом: Функции пользователя создаются с использованием редактора VBA, после чего с ними можно работать с помощью мастера функций. Функция пользователя является частью программного модуля. Для создания модуля VBA необходимо выполнить следующие действия: 1. Войти в редактор VBA с помощью команды Сервис- Макрос-Редактор VBA. 2. Выполнить команду Вставка- Модуль (Insert-Module). 3. На листе модуля ввести текст следующей программы: Function Y(x) Y = Sin(Application.Pi() * x)*Exp(-2*x) End Function. Задание к работе С помощью EXCEL и программы на VBA составить таблицу начисления премии по итогам работы сети трех магазинов с месяца А по месяц В по следующему правилу: 1. Если продукции продано не меньше, чем на С грн., то комиссионные составляют i%. 2. За первое место начисляется дополнительно j1%, за второе – j2% и т.д. Варианты заданий представлены в таблице 1. Таблица1.1
1.4 Методика выполнения задания 1. Создание таблицы исходных данных. 2. Сервис ® Макрос ® Редактор Visual Basic. 3. Вставка ® Модуль. 4. Вставка ® Процедура 5. Указать имя: premia. 6. Указать тип процедуры: функция. 7. Создать текст процедуры. 8. Сохранить документ. 9. Закрыть Visual Basic. 10. В графе премия ввести функцию. 11. Выбрать категорию «Определенные пользователем». 12. Выбрать функцию premia. 13. Ввести аргументы функции. 14. Автозаполнением заполнить остальные ячейки.
Пример выполнения работы приведен на рис. 1.1, 1.2, 1.3
Рис.1.1 Таблица значений
Рис. 1.2 Таблица формул
Рис. 1.3 Текст функции пользователя
Содержание отчета 1.5.1 Цель работы. 1.5.2 Краткие теоретические сведения. 1.5.3 Задание к работе. 1.5.4 Текст процедуры на VBA с пояснениями. 1.5.5 Анализ результатов. Выводы.
1.6 Задания для самостоятельной работы Сформировать таблицы значений и построить графики для функций, определенных в лабораторной работе «Построение графиков функций и решение нелинейных уравнений в Microsoft Excel» с использованием функций пользователя. Варианты заданий: Вариант 1
· · ·
· ·
Вариант 2
· · ·
· ·
·
Вариант 3 1. Построить в разных системах координат при хÎ[-1,8; 1,8] графики функций: · · · 2. Построить в одной системе координат при хÎ[0; 3] графики функций: · · 3. Построить поверхность при х, у Î[-1; 1]. 4. Найти все корни уравнения .
Вариант 4
· · ·
· ·
Вариант 5
· · ·
· ·
Вариант 6
· · ·
· ·
Вариант 7
· · ·
· ·
Вариант 8
· · ·
· ·
Вариант 9
· · ·
· ·
Вариант 10
· · ·
· ·
Вариант 11
· · ·
· ·
4. Найти все корни уравнения .
Вариант 12
· · ·
· ·
Вариант 13
· · ·
· ·
Вариант 14
· · ·
· ·
Вариант 15
· · ·
· ·
Вариант 16
· · ·
· ·
Библиографический список 1. Р.Персон. Microsoft Ecxel 97 в подлиннике: в 2т. – BHV – Санкт-Петербург. 1998. Том 2 – 640с. 2. Васильев А., Андреев А. VBA в Office 2000: учебный курс. – СПб.: Питер, 2001. – 432 с.: ил.
ПРИЛОЖЕНИЕ 1 Математические функции VBA
Теоретические сведения
Макрорекордер - это средство в EXCEL, которое записывает все производимые над рабочим листом действия и интерпретирует их как последовательность команд Visual Basic. Эти команды формируют процедуру (макрос), которую можно выполнить, чтобы повторно воспроизвести записанные в ней действия. Это особенно полезно при сложном форматировании рабочих листов, т.к. после записи необходимых действий можно выполнить полученную процедуру VBA, чтобы отформатировать следующий рабочий лист. Подготовка к записи макроса Перед запуском макрорекордера следует подготовить рабочий лист, произведя все необходимые действия, которые не нужно включать в процедуру. Эти действия могут быть такими, как создание нового рабочего листа или перемещение в конкретную часть листа. Когда начинается запись, все что делает пользователь, сохранится в процедуре. Чтобы подготовить лист и отобразить диалоговое окно «Запись макроса» («Record Macro») необходимо: 1. Открыть новую книгу, выбрав команду «Файл – Создать»(“File – New”, и активизировать необходимый лист. 2. Выбрать команду «Сервис – Макрос – Начать запись» (“Tools – Macro – Record New Macro”). Диалоговое окно «запись макроса» позволяет установить параметры записываемой процедуры. Поле вывода «Имя макроса» (“Macro Name”) и «Описание» (“Description”) позволяют задать имя процедуры и ее описание. Добавление кратко, но емкого описание важно, если нужно использовать этот макрос в течении долгого времени. Если пренебречь хорошим описанием, может оказаться трудным вспомнить, для чего предназначена когда-то созданная процедура. Поле ввода «Сочетание клавиш» (“Shortcut Key”) предоставляет возможность назначить новой процедуре комбинацию клавиш, т.е. указать символ который в сочетании с клавишей <Ctrl> позволит выполнить процедуру. Это может быть любой символ (за исключением цифры или специального символа) нижнего или верхнего регистра, которому соответствует комбинация клавиш <Ctrl> + <символ> или <Ctrl> | <Shift> + <символ>. Раскрывающийся список «Сохранить в книге» (“Store Macro in”) позволяет указать, в какой книге следует сохранить записываемый макрос. Если выделить элемент «Личная книга макросов» (“Personal Macro Workbook”), данный макрос будет помещен в личную книгу макросов, которая является скрытой и всегда открыта во время работы EXCEL. Таким образом, этот макрос становится общедоступным для всех открытых книг. Чтобы просмотреть личную книгу макросов следует выполнить следующую команду «Окно – Отобразить» (“Windows – Unhide”). По умолчанию выделен элемент «Эта книга» (“This Workbook”), чтобы сохранить макрос в новой книге. Анализ процедуры.
Чтобы просмотреть только что созданную процедуру необходимо: 4. Выбрать команду «Сервис – Макрос – Макросы» (“Tools – Macro – Macros”). Появится диалоговое окно «Макросы» (“Macros”). 5. Выделить имя макроса в предлагаемом списке и нажать на кнопку «Изменить» (“Edit”) или «Войти». В результате появится главное окно редактора Visual Basic, в котором откроется окно с процедурой. Сравнивая листинг процедуры (ее текст и выполненные действия, можно заменить, что каждому действию соответствует одна или более строк процедуры. В этой процедуре также находится ряд дополнительных строк, устанавливающих параметры, которые во время заполнения рабочего листа явно не устанавливались. Таким образом, сохраняется полный набор параметров каждого использованного диалогового окна. Процедура отображается на листе модуля в цвете: для комментариев используется зеленый цвет, ключевые слова выделены синим цветом, а остальной цвет – черным.
Задание к работе. 5.6.1 Создать макрос с помощью макрорекордера EXCEL. В поле «Описание» ввести номер варианта. При создании макроса выполнить действия по созданию таблицы и построению диаграммы в соответствии с вариантом задания, представленном в таблице 1. 5.6.2 Войти в макрос и переписать в отчет текст макроса. 5.6.3 Оформить отчет по лабораторной работе. Таблица 1
Содержание отчета. 5.7.1 Цель работы. 5.7.2 Краткие теоретические сведения. 5.7.3 Задание к работе 5.7.4 Текст процедуры на VBA с пояснениями. 5.7.5 Анализ результатов. Выводы.
Библиографический список 1. Р.Персон. Microsoft Ecxel 97 в подлиннике: В 2т. – BHV – Санкт-Петербург. 1998. Том 2 – 640с. 2. Васильев А., Андреев А. VBA в Office 2000: учебный курс. – СПб.: Питер, 2001. – 432 с.: ил.
Лабораторная работа № 3. Интегрированная среда разработки (VBA) 3.1 Цель работы: ознакомление с основными составляющими интегрированной среды разработкиVisual Basic for Applications (VBA). Панель элементов Панель элементов приведена на рисунке 3.2. на ней представлены кнопки, обозначающие различные элементы управления, используемые при конструировании форм. По умолчанию на панели элементов располагаются только стандартные элементы управления такие как: Надпись, Текстовое поле, Поле со списком, Флажок, Переключатель и т.п. Все элементы управления будут подробно рассмотрены в лабораторной работе №8.
Рис. 3.2 Панель элементов Окно Project Explorer. Прежде чем говорить об окне проекта, сначала определим, что такое проект. Под проектом в редакторе VBA понимается набор всех программных модулей, связанных с документом MS Office. Обратим внимание, что под документом понимаем не только документ MS Word, но и рабочую книгу MS Excell, и базу данных MS Access, и презентацию MS Power Point. Проект может включать модули с процедурами обработки событий объектов, приложения, стандартные модули с пользовательскими процедурами, модули классов и ссылки на другие проекты, позволяющие использовать их процедуры и данные. Окно Проект (рисунок 3.3) предназначено для быстрого получения информации о различных составляющих проекта. Такими составляющими являются Формы, Модули, Ссылки. С помощью окна проекта можно добавить или удалить какой-либо объект из проекта. Для добавления в проект модуля достаточно нажать правую кнопку мыши в окне проекта и выбрать в появляющемся контекстном меню команду «Вставить - Модули» (Insert - Module) или «Вставить - Модуль класса» (Insert – Class Module) соответственно для добавления стандартного модуля или модуля класса. Окно проекта можно использовать также для быстрой навигации по формам проекта и программному коду. Для этого необходимо выбрать в контекстном меню соответственно команды «Объект» (View Object) или «Программа» (View Code).
Рис. 3.3 Окно Проект Окно Свойства (Properties) Список свойств выделенного объекта выводится в окне «Свойства» (Properties), изображенном на рисунке 3.4. Для того чтобы выделить объект, необходимо с помощью окна проекта выбрать форму и перейти в режим конструктора, используя команду «View Object». В качестве примера на рисунке 3.4 приведены свойства элемента управления «Поле» (Textbox). Свойства объекта можно упорядочить в алфавитном порядке «По алфавиту» (Alphabetic) или по категориям «По категориям» (Cateqorized), выбрав соответствующую вкладку. Предусмотрена также возможность получения быстрой справки по какому-либо свойству объекта. Для этого достаточно установить курсор на нужное свойство и нажать клавишу F1. Замечание. Если выделено несколько объектов, то в окне свойств выводятся только свойства, общие для всех выделенных объектов. В этом случае изменение какого-либо из общих свойств приведет к изменению аналогичных свойств всех выделенных объектов.
Рис. 3.4 Окно Свойства
Оператор присвоения Оператор присвоения присваивает значение выражения переменной или константе. Оператор присвоения всегда включает знак равенства(=). Синтаксис: [Let] Переменная = выражение Инструкция Let не обязательна и чаще всего опускается. Оператор присвоения предписывает выполнить выражение, заданное в его правой части, и присвоить результат переменной, имя которой указано в левой части. В результате, например, действие следующей пары операторов х==2 х==х+2 Переменной х будет присвоено 4. Имена переменных должны отражать суть обозначаемого объекта так, чтобы делать программу легко читаемой. В VBA имеются следующие ограничения на имена: 1. Длина имени не должна превышать 255 символов. 2. Имя на может содержать точек, пробелов и следующих символов: %, &,!, #, @, $. 3. Имя может содержать любую комбинацию, цифр и символов, начинающуюся с буквы. 4. Имена должны быть уникальны внутри области, в которой они определены. 5. Не следует использовать имена, совпадающие с ключевыми словами VBA и именами встроенных функций и процедур.
Хотя регистр (верхний или нижний) в имени не имеет значения, умелое использование его может существенно облегчить понимание содержательной стороны переменной. Например, вместо плоских и невыразительных имен
процентнаяставка
х_начзнач предпочтительнее использовать следующие имена, которые легче воспринимаются, благодаря выделению нескольких символов, входящих в них, разумным использованием верхнего регистра
ПроцентнаяСтавка
х_НачЗнач
Выражение состоит из элементов выражения (операндов) разделенных знаками операций и скобками. В программах на VBA можно использовать стандартный набор операций над данными. Имеются три основных типа операций: Математические, выполняются над числами, и их результатом являются числа Отношения, применяются не только к числам, и их результатом являются логические значения, например х>у Логические, используются в логических выражениях и их результатом являются логические значения, например Not x And y Приведем операции VBA указанных и дополнительных категорий. Таблица 4.1
VBA выполняет операции в соответствии с их приоритетами, что обеспечивает однозначность в трактовании значений выражений. Приведем приоритеты выполнения операций.
Приоритет Операции 1 Вызов функции и скобки 2 ^ 3 - (смена знака) 4 *, / 5 \ 6 Mod 7 +, - 8 >, <, >=, <=, <>, = 9 Not 10 And 11 Or 12 Xor 13 Equ 14 Imp
Операндами в выражении могут быть: переменные, константы, функции. В VBA имеются большой набор встроенных функций и процедур, использование которых существенно упрощает программирование. Эти функции можно разделить на следующие основные категории: - Математические функции - Функции проверки типов - Функции преобразования форматов В таблице 4.2 перечислены математические функции, используемые в VBA
Таблица 4.2 Математические функции
Обратите внимание на то, что список функций таблицы 4.2 несколько сокращен. Приведены только четыре встроенные тригонометрические функции, на самом же деле тригонометрических функций около 24, включая используемые гиперболические функции. В таблице 4.3 перечислены несколько стандартных формул, где использованы встроенные функции для вычисления недостающих. Эти формулы предназначены для положительных и отрицательных значений аргумента х. Некоторые из них, содержащие знак (+-), дают двойной результат. Используйте знак плюс (+) для вычисления первого значения и знак (-) для вычисления второго.
Таблица 4.3 Формулы общих математических функций, не вошедших в VBA
|