Создание макросов в приложении Microsoft Excel

Разделы: Информатика


Урок: «Создание макросов  в приложении Microsoft  Ехсеl».

 На этом уроке мы рассмотрим следующие вопросы:

  • Понятие макроса.
  • Запись простых макросов.
  • Выполнение макросов.
  • Назначение макроса графическим изображениям.
  • Удаление макросов из списка макросов.
  • Ограниченность макросов.

Понятие макроса.

Основное назначение макросов - это автоматизация работы пользователя.        

Макрос - это имеющая имя последовательность заданных пользователем команд, и действий хранящаяся в форме программы на языке VВА, которую может выполнить
приложение.

На сегодняшний день Visual Basic for Application (VВА) - один из самых простых в изучении и применении языков программирования для автоматизации приложений, входящих в пакет Microsoft Offic.
Запись макросов в приложении Ехсеl.

Для работы с макросами в приложении Ехсеl  имеется специальная панель.
Меню: Вид- Панель инструментов - Visual Basic.

 

Рисунок1.

Общий алгоритм записи макроса:

  • Нажать на кнопку «Запись макроса» на панели Visual Basic
  • В диалоговом окне «Запись макроса» дать имя макросу.

Первым символом имени макроса должна быть буква. В имени макроса не опускается использование пробелов.

 

Рисунок2.

  • Выполнить действия, которые нужно записать.
  • Нажать кнопку «Остановить запись» на панели  Visual Basic.

Задание I (открыть Приложение1)

Рассмотрим процедуру записи макросов на примере очень простого макроса, который изменяет шрифт и цвет в выделенном диапазоне ячеек. Эти действия в Ехсеl можно выполнить   многими  различными   способами  (например,   применение   стилей, автоформатирования и т.д.), этот пример продемонстрирует последовательность действий пользователя, необходимые для записи макроса).

Рисунок 3.

1. В ячейку А4 введите ваше имя, в ячейку А5 введите фамилию, в ячейку А6 - город, где вы родились, в ячейку А7 - название страны.

2. Установите курсор в ячейке А4.
3. На панели   Visual Basic нажмите кнопку «Запись макроса» Рисунок4.

4. Введите название макроса «ЦветШрифт» и нажмите клавишу «ОК». На экране появится панель инструментов «Остановить запись» Рисунок 5.

ВНИМАНИЕ!  КАЖДОЕ ВАШЕ ДЕЙСТВИЕ ЗАПИСЫВАЕТСЯ.

5. Выполните команду Формат – Ячейки - Шрифт - Размер 11- Цвет  красный - ОК.
6. Щелкните на кнопке «Остановить запись» на панели Visual Basic. Запись макроса завершена.

Выполнение макросов.

При выполнении макроса Ехсеl повторяет те же действия, которые вы выполнили в процессе его создания. Продолжим работу с созданным макросом.

1.Установить курсор в ячейку А4.

2.Выполнить команду Сервис-Макрос-Макросы

 

Рисунок 6.

3.Выделите макрос ЦветШрифт и Выполнить.
4.Аналогично с ячейками А3 и А4.

Назначение макроса графическим изображениям.

Продолжим работу с заданием I.

1. Используя панель Рисование, нарисуйте на листе любую автофигуру.          
2.Щелкните правой кнопкой мыши на изображении и в открывшемся контекстном меню выберите команду Назначить макрос. Отобразится диалоговое окно Назначить макрос объекту.
3. Выберите макрос «ЦветШрифт» и подтвердите выполнение операции.
4. Щелкните вне графического изображения, чтобы снять выделение с объекта.
5. Введите число и проверте выполнение макроса.

Рисунок7

Удаление макросов из списка макросов.

Для того, чтобы удалить макрос из списка макросов диалогового окна Макросы надо:

1. Выполнить команду Сервис - Макрос - Макросы.
2. Выделить макрос, подлежащий удалению и щелкнуть по кнопке «Удалить».
3. Подтвердить выполнение операции в специальном окне, которое появится.

Ограниченность макросов

В Ехсеl многие процедуры можно выполнить с помощью макросов, но макросы имеют и ограничения. С помощью макросов нельзя выполнить различные действия в зависимости от содержимого ячейки, нельзя вызвать некоторые диалоговые окна Ехсе1, например, сохранить документ, нельзя отобразить и использовать пользовательские формы ввода данных.
Эти ограничения приводят к необходимости создания программ на VВА.
Задания для самостоятельного выполнения.

1.Введите в диапазон F1:F5 любые числа. Создайте макрос для очистки диапазона F1:F5. С помощью панели инструментов «Рисование» создайте кнопку с надписью «Очистить». Назначьте кнопке созданный макрос.
2. Введите в диапазон С2:С6 фамилии ваших друзей, а в диапазон D2:D6 занесите их телефоны.

Создайте две кнопки с названиями «Выделенное скопировать» и «Вставить». По нажатию на первую кнопку выделенный диапазон должен копироваться в буфер обмена. По нажатию на вторую кнопку информация из буфера обмена должна выводиться в текущую ячейку.

Задание II. Текст по столбцам

В столбец А введите исходные данные:


Рисунок 8. 

Рисунок 9.

Необходимо номера и телефоны разнести по разным столбцам.
В Ехсеl существует специальная команда для выполнения этой операции

Данные - Текст по столбцам.

Технология работы:

  1. Выделите все ячейки столбца А, где занесены исходные данные;
  2. Выполните команду Данные-Текст по столбцам, появится диалоговое окно.
    В этом окне укажите формат данных –« с разделителями». Нажмите кнопку «Далее».
  3. Во втором диалоговом окне укажите символом – разделителем является «пробел» Нажмите кнопку «Далее».
  4. В третьем окне установите для каждого столбца данных формат данных
    ( текстовой) и     «Поместить в – щелкните по нужной ячейки ( =$C$1 )»- первый столбец,    (=$D$1) – второй столбец – «Готово»

Создайте макрос для разбора данных по ячейкам. Привяжите макрос к автофигуре. Создайте макрос для очистки ячеек, в которые заносятся разобранные данные.
ЗаданиеIII. Подведение промежуточных итогов с применением макросов.

Повторим Ехсеl, подведем промежуточные итоги, используя возможности программы, затем запишем макросы, которые будут автоматически, а не вручную подводить промежуточные итоги и убирать их с листа.


Рисунок10.

Технология работы.

  1. Откройте лист «Итоги»
  2. В столбце «Сумма» значение рассчитайте по формуле
  3. Отсортируйте таблицу по столбцу «Товар».

В процессе подготовки отчетов часто требуется подводить итоги. Возможности Ехсel позволяют автоматически вносить промежуточные итоги в таблицы, не задавая вручную области или формулы для них. Иногда требуется выделять и показывать на экране только часть информации из созданного отчета. В зависимости от цели отчета, в него может быть включена полная информация рабочего листа, только промежуточные и общие итоги  или только общие итоги.

Рассмотрим использование команды «Итоги» на нашем примере. Подсчитаем, на какую сумму было продано отдельно ксероксов и отдельно факсов.

1.Установим курсор на любую ячейку отсортированной таблицы.
2.Выполним команду Данные-Итоги. В появившемся диалоговом окне «Промежуточные итоги» в строке При каждом изменении в выберем из открывшегося списка название графы «Товары», в строке Операция - функцию Сумма, в строке Добавить итоги по - выберем название графы «Сумма» - ОК

Создание макросов.

Установите курсор на исходную таблицу. Если таблица не отсортирована ,отсортируйте по полю «Товар» Данные-Сортировка.

1.Для создания 1 макроса активизируйте любую ячейку таблицы и  MacroRecorde  с помощью команды  Сервис-Макрос-Начать запись. Назначте имя макроса «Итоги»- ОК
2.Выполним команду Данные-Итоги
В диалоговом окне выберете в строке
При каждом изменении в выберем из открывшегося списка название графы «Товары», в строке Операция - функцию Сумма, в строке Добавить итоги по - выберем название графы «Сумма» - ОК
3.Активизируйте опцию Итоги под данным. Нажмите клавишу ОК
Остановите запись макроса, нажав на кнопку Остановить запись.
Просмотрите записанную программу. Для этого выполните команду Сервис-Макрос-Макросы.    Выделите макрос «Итоги» и нажмите кнопку Изменить. Это вызовет появление главного окна редактора VВА с текстом записанного макроса .
4. Для создания 2-ого макроса «Убрать промежуточные итоги»:
Активизируйте MacroRecorde с помощью команды Сервис-Макрос-Начать запись. Появится диалоговое окно «Запись макроса». Назначить имя макроса «Убратьитоги» Установите курсор в исходную таблицу. Выполните команду Данные—Итоги. В появившемся окне щелкнуть по кнопке «Убрать все».Остановите запись макроса, нажав на кнопку Остановить запись.
         На листе «Итоги» создадим кнопки и привяжем к ним созданные макросы .

Рисунок11.

Подведение итогов урока:

  1. Как автоматизировать действия в приложениях.
  2. Дать понятие Макроса.
  3. Перечислить порядок записи простых Макросов              
  4. Выполнение Макросов.
  5. Назначение Макроса графическим объектам.
  6. Ограниченность Макросов.
  7. Попробуйте создать Макросы в MicrosoftWord.
Используемая литература:
  1. Панфилова Т. «MS EXCEL и VBA»;
  2. Угринович Н. «ИНФОРМАТИКА И ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ»