Uploaded by Виктор Бодряга

Lab rabota 5

advertisement
Лабораторная работа № 5
Тема: Макросы в Microsoft Excel
I Цель работы
Научиться создавать макросы VBA для автоматизации
повторяющихся задач.
II Теоретическое введение
Visual Basic (VBA) — это подмножество мощного Visual Basic
программирования, которое входит в состав большинства
приложений Office. Хотя VBA позволяет автоматизировать процессы
как в приложениях Office, так и в других приложениях, знать код
VBA или программирование на компьютере необязательно, если оно
делает то, что вам нужно.
Для автоматизации повторяющихся задач в Microsoft Excel
можно быстро записать макрос. Предположим, у вас есть даты в
различном формате и вы хотите применить ко всем из них один
формат. Это можно сделать с помощью макроса. Вы можете записать
макрос, который применяет нужный формат, а затем запускать его
при необходимости.
При записи макроса все действия пользователя записываются
в коде Visual Basic для приложений (VBA) макроса. К таким шагам
относятся ввод текста или чисел, выбор ячеек или команд на ленте
или в меню, форматирование ячеек, строк и столбцов или даже
импорт данных из внешнего источника, скажем, Microsoft Access.
Макросы и средства VBA находятся на вкладке Разработчик,
которая по умолчанию скрыта, поэтому сначала нужно включить ее:
1. На вкладке Файл выберите Параметры> Настройка ленты.
1
2. В разделе Настройка ленты в списке Основные вкладки установите
флажок Разработчик.
Рис. 1.Вкладка «Разработчик»
После
того
как
вы
отобразите
вкладку,
вкладка разработчик останется видимой, если не снять флажок или
переустановить приложение Microsoft Office.
Запись макроса
Перед записью макросов полезно знать следующее:



Макрос, записанный для работы с диапазоном Excel, будет
выполняться только для ячеек этого диапазона. Поэтому если вы
добавите в диапазон новую строку, макрос не будет применяться к
ней.
Если вам нужно записать длинную последовательность задач,
советуем вместо этого использовать несколько более мелких
макросов.
В макросе могут содержаться и задачи, не относящиеся к Excel.
Процесс макроса может охватывать прочие приложения Office и
другие программы, которые поддерживают Visual Basic для
приложений (VBA). Например, вы можете записать макрос,
который сначала обновляет таблицу в Excel, а затем открывает
Outlook для ее отправки по электронной почте.
Для записи макроса следуйте этой инструкции:

На
вкладке Разработчик в
группе Код нажмите
кнопку Запись макроса. Или нажмите ALT+T+M+R.
2
Рис. 2. Окно «Запись макроса»
В поле Имя макроса введите название макроса. Сделайте имя
понятным, чтобы можно было быстро найти нужный макрос. Первым
символом имени макроса должна быть буква. Последующие символы
могут быть буквами, цифрами или знаками подчеркивания. В имени
макроса не должно содержаться пробелов; в качестве разделителей
слов следует использовать знаки подчеркивания. Если используется
имя макроса, являющееся ссылкой на ячейку, может появиться
сообщение об ошибке, указывающее на недопустимое имя макроса.

Чтобы назначить сочетание клавиш для запуска макроса, в
поле Сочетание клавиш введите любую строчную или
прописную букву.
3
Рекомендуется использовать сочетания клавиш с CTRL+SHIFT, так
как они будут заменять собой совпадающие с ними стандартные
сочетания клавиш в Excel, пока открыта книга, содержащая макрос.
Например, если назначить сочетание клавиш CTRL+Z (Отменить),
вы не сможете использовать его для функции "Отменить" в данном
экземпляре Excel.

В списке Сохранить в выберите книгу, в которой вы хотите
сохранить макрос.
Обычно макрос сохраняется в расположении "Эта книга", но если вы
хотите, чтобы макрос был доступен при работе с Excel, выберите
"Личная книга макроса". При выборе личной книги макроса Excel
создает скрытую личную книгу макроса (Personal.xlsb), если она еще
не существует, и сохраняет макрос в этой книге.

В поле Описание при необходимости
описание действий макроса.
введите
краткое
Хотя поле "Описание" является необязательным, рекомендуется его
заполнить. Кроме того, желательно ввести понятное описание,
которое будет полезно вам и всем, кто запускает макрос. Если у вас
много макросов, описания помогут быстро определить, для чего они
нужны.


Чтобы начать запись макроса, нажмите кнопку ОК.
Выполните действия, которые нужно записать.
На вкладке
"Остановить
"Разработчик" в группе "Код" нажмите
" или нажмите ALT+T+M+R.
Практическая часть
Задание 1. Создание макроса в автоматическом режиме
1. Создайте рабочую книгу в Microsoft Excel
4
кнопку
2. Создайте таблицу «Студент» (рис.3)
Рис. 3. Таблица «Студент»
3. Выполните расширенный фильтр по полю «Специальность» с
копированием результата на новое место:
1. скопируйте шапку таблицы в первую строку;
2. введите в ячейку Е2 одну из специальностей;
3. перейдите на вкладку Данные и нажмите
кнопку Дополнительно (рис.4)
Рис. 4. Панель Данные
5
4. при этом откроется диалоговое окно «Расширенный
фильтр» (рис. 5);
Рис.5. Окно «Расширенный фильтр»
1. в разделе Обработка выберите скопировать результат
в другое место;
2. в Исходный диапазон определите ячейки исходной
таблицы (А4:F14);
3. в Диапазон условий определите верхние ячейки A1:F2;
4. в Поместить результат в диапазон выберите ячейку
справа от таблица (H1);
5. нажмите кнопку «ОК».
2. Начните запись макроса, выбрав
вкладку Вид  Макрос  Запись макроса. Откроется
диалоговое окно «Запись макроса», в котором необходимо
указать параметры макроса:

Текстовое поле Имя макроса. Начинается с буквы, но может
содержать и цифры. В имени не допускается использовать
пробелы и знаки пунктуации. По умолчанию предлагается
стандартное название макроса, но лучше использовать более
осмысленное, соответствующее действиям макроса.
6



Текстовое поле Сочетание клавиш. Можно указать
комбинацию клавиш с помощью которой макрос будет
запускаться на выполнение. Это имеет смысл делать для часто
используемого макроса. Комбинация клавиш – это «CTRL» и
какой-нибудь символ. Например: CTRL+a.
Список Сохранить в:. В этом списке надо выбрать, где будет
храниться макрос. Если выбрать «Эта книга», то макрос
запишется в текущей рабочей книге. Вариант «Личная книга
макросов» позволит записать макрос в специальной книге под
названием Personal.xls, которая открывается при каждом
запуске Excel, т.е. макрос будет доступен разным рабочим
книгам. Вы можете и не заметить, что книга Personal.xls
открыта, т.к. по умолчанию она скрыта. Вариант «Новая
книга» заставит Excel открыть новую книгу и сохранить в нее
макрос, хотя активной останется прежняя книга и все
действия будут применяться к ней.
Текстовое поле Описание. В этом поле можно кратко описать
назначение макроса и начальные условия его выполнения.
5. Выполните все действия, которые должны быть записаны в
макросе:
1. выделите ячейки H1:M11;
2. нажмите клавишу Delete;
3. выберите команду меню Данные => Сортировка и
фильтр => Дополнительно;
4. заполните диалоговое окно как на рис. 5;
5. нажмите кнопку «ОК»;
6. Остановить запись, выполнив
команду Вид  Макрос  Остановить запись.
Теперь ваш макрос готов.
В пункте Макросы имеется еще одна кнопка – «Относительная
ссылка». По умолчанию в макросы записываются абсолютные адреса
ячеек, т.е. действия будут выполняться в одних и тех же областях
рабочего листа.
7
Если выбрать «Относительная ссылка», то действия будут
записываться в относительных адресах, т.е. с учетом текущего
положения активной ячейки. Каждый щелчок на кнопке переводит
режим в противоположный. Такое переключение можно выполнять в
любой момент на протяжении записи макроса.
Созданный макрос будет записан в особой части рабочей книги,
называемый модулем. Рабочая книга может содержать несколько
модулей. В каждом модуле могут быть записаны несколько
макросов. Модуль для записи макроса выбираются автоматически, а
при необходимости создается новый. В каждом сеансе работы, если
выполняется запись макроса, создается новый модуль. Модули
рабочей книги имеют имена ModuleN, где N – порядковый номер
модуля.
Задание 2. Запуск макроса на выполнение
1. Нажать комбинацию клавиш, назначенную при создании
макроса (если комбинация была назначена).
2. Выполнить команду Вид  Макрос  Макросы. Откроется
окно «Макрос», в котором пользователь должен выбрать
макрос в списке и щелкнуть на кнопке «Выполнить».
3. Макрос можно назначить кнопке на панели быстрого доступа.
Для этого необходимо:
1. выполнить команду Кнопка
«Office»  Параметры Excel  Настройка. Откроется окно
настройки панели инструментов (рис. 6).
8
Рис.6. Окно настройки панели инструментов
В списке Выберите команду из…выберите Макросы.
В левом списке выберите ваш макрос.
Затем щелкните на кнопке Добавить.
В правом списке выберите название вашего макроса и
нажмите кнопку Изменить.
6. В появившемся окне Изменение кнопки (рис. 7) выберите вид
кнопки и определите его имя
2.
3.
4.
5.
9
Рис. 7. Окно Изменение кнопки
7. Нажмите кнопку ОК.
8. Закройте окно Настройка, нажав кнопку ОК.
Макрос добавиться на панель быстрого доступа (рис. 8). Запустите
макрос на выполнения с помощью данной кнопки.
Рис. 8. Панель быстрого доступа
4. Макрос можно назначить любому графическому объекту,
расположенному на рабочем листе. Это может быть рисунок из
стандартного набора, автофигура или сгруппированный объект. Для
этого:
10
1. щелкните на объекте правой кнопкой мыши и в контекстном
меню выберите пункт Назначить макрос
2. в появившемся окне Назначить макрос объекту выберите
нужный макрос и нажмите кнопку ОК.
Задания для самостоятельного выполнения
Выполнить свой вариант задания по записи макросов в
автоматическом режиме. Назначить макрос уникальной кнопке на
панели быстрого доступа(изменить значок на кнопке). Всплывающая
подсказка должна соответствовать назначению кнопки.
Вариант 1
Для таблицы «Автомобили» (Марка, Год выпуска, Пробег, Цвет,
Цена) создать расширенный фильтр с копированием на новый лист
по выбору автомобилей определенной марки и года выпуска.
Вариант 2
Для таблицы «Товаров бытовой техники» (Модель, Тип, Стоимость,
Цена, Количество, Прибыль) организовать итоги с выводом общих
сумм прибыли и количества товаров по каждому из типов товаров.
Вариант 3
Для таблицы «Студенты» (ФИО, Группа, Факультет, Успеваемость)
создать отчет в виде сводной таблицы на новом листе. В сводной
таблицы данные о студентах должны быть скомпонованы по
факультетам и группам. Должны быть отражены сведения о средней
успеваемости в группе.
Вариант 4
Для таблицы «Магазин» (Наименование, Цена, Количество, Сумма,
Срок годности, Фирма изготовитель) создать расширенный фильтр с
11
копированием данных на новый лист. Расширенный фильтр должен
осуществлять выбор товары по полю «Срок годности».
Вариант 5
Для таблицы «Товары» (Название товара, Фирма изготовитель,
Стоимость, Цена, Количество, Прибыль) организовать итоги с
выводом общих сумм прибыли и количества товаров по каждой из
фирм поставщиков.
Вариант 6
Для таблицы «Продажа товаров» (Дата продажи, Тип товара, Марка,
Магазин, Цена) создать отчет в виде сводной таблицы на новом
листе. В сводной таблицы данные о товарах должны быть
скомпонованы по магазинам и типам. Должны быть отражены
сведения об общей сумме продаж для каждого типа товаров.
Контрольные вопросы:
1.
2.
3.
4.
5.
Что такое макрос? Каково его назначение?
Для чего нужна кнопка Относительная ссылка?
Опешите последовательность действий при записи макроса.
Какие способы запуска макроса существуют?
Как добавить кнопку макроса на панель быстрого доступа?
12
Download