Макрос задания для excel

Разделы:

Информатика


Практическая работа 1. «Годовая температура»

Порядок работы:

  1. Откройте Excel.
  2. Переименуйте «Лист1» в лист «Температура».
  3. Составьте таблицу «Годовая температура»
Месяц Средняя температура
Январь -5
Февраль -6
Март 0
Апрель 2
Май 10
Июнь 15
Июль 18
Август 20
Сентябрь 18
Октябрь 6
Ноябрь 3
Декабрь -9
  1. В ячейку Е3 поместите значение среднегодовой температуры, рассчитав ее по формуле СРЗНАЧ(В3:D3)
  2. Запишите Ваши действия в макрос, назвав его «СрГодТемп».
  3. Привяжите макрос к графическому объекту (например, кнопка):

 

Отформатируйте ее и назначьте ей макрос «СрГодТемп».

  1. Справа от показателя температуры нарисуйте графический объект (кнопку) и назначьте ему макрос, который будет очищать содержимое ячейки Е3.

  1. Проверьте работу кнопок «Средне-годовая t » и «Очистить».
  2. Самостоятельно выполните создание кнопок и макросов для подсчета и очистки:
    • Максимальной годовой температуры;
    • Минимальной годовой температуры;
    • Средняя температура по временам года (зимой, весной, летом, осенью)
    • Создать кнопку «Очистить всё» для очистки всех расчетов.

Ваша работа должна выглядеть следующим образом:

Практическая работа 2. «Протяженность границ РФ» – Приложение 1.

Практическая работа 3. «Тест на визуальный Интеллект» – Приложение 2.

18.03.2012

Полезные макросы Excel для автоматизации рутинной работы с примерами применения для разных задач.

Примеры макросов для автоматизации работы

makrosy-filtra-svodnoy-tablicyМакросы для фильтра сводной таблицы в Excel.
Как автоматизировать фильтр в сводных таблицах с помощью макроса? Исходные коды макросов для фильтрации и скрытия столбцов в сводной таблице.

makros-svodnoy-tablicyМакрос для создания сводной таблицы в Excel.
Как автоматически сгенерировать сводную таблицу с помощью макроса? Исходный код VBA для создания и настройки сводных таблиц на основе исходных данных.

makrosy-dlya-formatirovaniya-yacheekМакросы для изменения формата ячеек в таблице Excel.
Как форматировать ячейки таблицы макросом? Изменение цвета шрифта, заливки и линий границ, выравнивание. Автоматическая настройка ширины столбцов и высоты строк по содержимому с помощью VBA-макроса.

makros-pereimenovat-listyМакрос для копирования и переименования листов Excel.
Как одновременно копировать и переименовывать большое количество листов одним кликом мышкой? Исходный код макроса, который умеет одновременно скопировать и переименовать любое количество листов.



ФЕДЕРАЛЬНОЕ
АГЕНТСТВО ПО ОБРАЗОВАНИЮ

ГОСУДАРСТВЕННОЕ
ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ

ВЫСШЕГО
ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

ДОНСКОЙ
ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

Кафедра
«Информатика»

СОЗДАНИЕ
МАКРОСОВ-ФУНКЦИЙ В EXCEL

Методические
указания к выполнению лабораторных
работ

по
дисциплине «Информационные технологии»

для
студентов технических специальностей

Ростов-на-Дону
2008

Составители:
д. т. н., проф. Б. В. Соболь, к. ф.-м. н., доц.
И. М. Пешхоев

Создание
макросов-функций в Excel:
Методические указания к выполнению
лабораторных работ по дисциплине
«Информационные технологии» для
студентов технических специальностей.
— Ростов н/Д: Издательский центр ДГТУ,
2008. — 16 с.

Методические
указания предназначены для проведения
лабораторных работ по дисциплине
«Информационные технологии» для
специальностей технического профиля.
Предлагается набор заданий к лабораторным
занятиям и краткие методические указания
к их выполнению. Целью лабораторных
работ является использование макросов
Excel
для решения задач, часто встречающихся
в инженерных расчетах.

Печатается
по решению методической комиссии
факультета «Информатика и вычислительная
техника»

Научный
редактор доцент
Г. И. Каныгин

©
Издательский центр ДГТУ, 2008.

Лабораторная
работа № 1

Тема:
Программирование макросов для функций,
задаваемых с условиями.

Цель
работы: Научиться использовать макросы
Excel
для упрощения вычислений.

Форма
отчета: Выполнение индивидуального
зачетного задания.

Примеры
выполнения лабораторной работы

Пример
1.

Вычислить для произвольно заданного
значения переменной x
значение функции

Решение
с помощью формулы
Excel.
Создадим новый файл в программе Excel.
Оформление решения показано в таблице
1.

На
Лист1 в ячейках A1
и B1
введем обозначения x
и y.

Присвоим
ячейке A2
имя x.
Для этого выполним команду «Вставка —
Имя — Присвоить — x».

Пусть
значение переменной x
равно 0,5. Запишем число 0,5 в ячейке A2,
а значение функции y
вычислим в ячейке B2.
Для этого введем в B2
формулу

=ЕСЛИ(x<=1;x^3+1;ЕСЛИ(x<=3;SIN(x);EXP(-x)*x))

Таблица
1

A

B

1

x

y

2

0,5

=ЕСЛИ(x<=1;x^3+1;ЕСЛИ(x<=3;SIN(x);EXP(-x)*x))

В
результате вычисления в ячейке B2
появится значение 1,125.

Введем
в ячейку A2
значение 1,5. Тогда в B2
появится значение 0,997494987. Если введем
в ячейку A2
значение 3,5, то в B2
появится значение 0,105690842.

Решение
с помощью макроса
Excel.
Создадим
в программе Excel
пользовательскую функцию y(x)
для вычисления данной функции, пользуясь
встроенным языком Visual
Basic.

Приведем
алгоритм создания пользовательcкой
функции-макроса:

1)
Выполним команду меню «Сервис — Макрос
— Редактор
Visual
Basic».
Откроется окно «Microsoft
Visual
Basic».

2)
Выполним команду меню «Insert
— Module»
и введём текст программы-функции
(Комментарий после апострофа вводить
не надо)

Function
y(x)
‘ Заголовок описания функции y(x)

If
x <= 1 Then ‘ если
x <= 1 то

y
= x ^ 3 + 1 ‘ y = x ^ 3 + 1

ElseIf
x
<= 3 Then
‘ иначе если x
<= 3 то

y
= Sin(x) ‘ y = Sin(x)

Else
‘ иначе

y
= Exp(-x) * x ‘ y = Exp(-x) * x

End
If
‘ конец оператора если

End
Function
‘ конец описания функции

Теперь
в ячейках любого листа данной книги
(файла) программы Excel
можно в формулах использовать созданную
функцию.

Например,
введем в ячейки С2, С3 и С4 соответственно
формулы =y(0,5),
=y(1,5),
=y(3,5).
В этих ячейках получим значения 1,125,
0,997495, 0,105691.

Пример
2.

Построить таблицу значений и график
функции из примера 2 на отрезке

с шагом 0,2.

Решение
с использованием макроса.

Мы будем использовать макрос-функцию
y(x),
созданную в примере 1, поэтому откроем
файл примера 1 и перейдем на Лист2.

В
ячейках A1
и B1
введем обозначения x
и y.

Введем
в A2,
A3
значения 0 и 0,2. Выделим ячейки A2:A3
и протянем маркер заполнения (правый
нижний угол) до ячейки A12.

Введем
в B2
формулу =y(A2).
Протянем ячейку B2
маркером заполнения вниз до B12.
Оформление решения показано в таблице
2.

Таблица
2

A

B

1

x

y

2

0

1

3

0,2

1,008

4

0,4

1,064

5

0,6

1,216

6

0,8

1,512

7

1

2

8

1,2

0,932039

9

1,4

0,98545

10

1,6

0,999574

11

1,8

0,973848

12

2

0,909297

Выделим
диапазон A1:B12
и щелкнем указателем мыши на панели
инструментов ярлык «Мастер диаграмм».
Выберем тип «Точечная» и кнопку «Готово».

Построить
таблицу значений и график данной функции
в указанном диапазоне с заданным шагом.
Вариант задания выбрать из таблицы 3.

Таблица
3

№ варианта

Функция

Отрезок

Шаг

1

[0;
3]

0,1

2

[1;
3]

0,2

3

[0;
3]

0,3

4

[1;
5]

0,2

5

[0;
3]

0,1

6

[2;
5]

0,25

Продолжение
табл. 3

№ варианта

Функция

Отрезок

Шаг

7

[3;
5]

0,25

8

[0;
3]

0,1

9

[1;
3]

0,4

10

[0;
3]

0,05

11

[1;
5]

0,4

12

[0;
4]

0,2

13

[2;
5]

0,3

Окончание
табл. 3

№ варианта

Функция

Отрезок

Шаг

14

[0;
5]

0,4

15

[1;
6]

0,5

16

[0;
3]

0,1

17

[1;
3]

0,2

18

[0;
3]

0,3

19

[0;
5]

0,2

20

[0;
3]

0,1

Лабораторная
работа № 2

Тема:
Программирование макросов для функций,
параметрами и/или значениями которых
являются массивы.

Цель
работы: Научиться использовать макросы
Excel
для упрощения вычислений с матрицами
и векторами.

Форма
отчета: Выполнение индивидуального
зачетного задания.

Пример
выполнения лабораторной работы

Пример
3.
Вычислить
таблицу значений вектор-функции
U(t)
= U(x,
y,
z),
где x
= x(t)
= t
2,
y
= y(t)
= sin
t,
z
= z(t)
= cos
t,

для
значений переменной t
= 0; 0,1; …, 1.

Решение
с помощью макроса.

Создадим макрос-функцию U(t),
которая вычисляет значение данной
вектор-функции.

1)
Выполним команду меню «Сервис — Макрос
— Редактор
Visual
Basic».
Откроется окно «Microsoft
Visual
Basic».

2)
Выполним команду меню «Insert
— Module»
и введём текст следующей программы-функции

Option
Base
1 ‘ Нижнее значение индекса в массивах
равно 1

Function
U(t)

Dim
uu(3)
‘ Описание вектора из трех
элементов

x
= t
^ 2: uu(1)
= x
‘ вычисление компонент вектор-функции

y
= Sin(t): uu(2) = y

z
= Cos(t): uu(3) = z

U
= uu
‘ присваивание имени U
функции вектора uu

End
Function

3)
Перейдем из редактора Visual
Basic
в Excel
и введем в ячейках A1:D1
обозначения, как показано в табл. 4.

Таблица
4

A

B

C

D

1

t

x

y

z

2

0

0

0

0

3

0,1

0

0,01

0,099833

4

0,2

0

0,04

0,198669

5

0,3

0

0,09

0,29552

6

0,4

0

0,16

0,389418

7

0,5

0

0,25

0,479426

8

0,6

0

0,36

0,564642

9

0,7

0

0,49

0,644218

10

0,8

0

0,64

0,717356

11

0,9

0

0,81

0,783327

12

1

0

1

0,841471

Введем
в ячейки A2,
A3
значения 0 и 0,1. Выделим ячейки A2:A3
и маркером заполнения протянем вниз до
A12.

Выделим
ячейки B2:D2,
введем формулу =U(A2) и удерживая нажатыми
клавиши Ctrl
и Shift
нажмем Enter.
В ячейках B2:D2
появятся числовые значения.

Выделим
ячейки B2:D2
и маркером заполнения протянем вниз до
строки B12:D12.

Пример
4.
Вычислить
суммы элементов строк матрицы, содержащей
4 строки и 3 столбца (табл. 5).

Таблица
5

1

-1

9

2

2

4

3

3

1

4

5

3

Решение
с помощью встроенных функций
Excel.
Создадим
файл программы Excel.

Запишем
элементы данной матрицы в диапазоне
A1:C4
(табл. 6).

В
ячейку D1
введем формулу =СУММ(A1:C1).

Выделим
ячейку D1
и протянем маркером заполнения вниз до
ячейки D4.
В столбце D1:D4
получим суммы элементов соответствующих
строк матрицы.

Решение
с помощью макроса.

Создадим макрос-функцию Sum_str(x),
которая для заданной матрицы x,
содержащей M
строк и N
столбцов, вычисляет вектор-столбец из
M
элементов, содержащий суммы элементов
соответствующих строк матрицы.

1)
Выполним команду меню «Сервис — Макрос
— Редактор
Visual
Basic».
Откроется окно «Microsoft
Visual
Basic».

2)
Выполним команду меню «Insert
— Module»
и введём текст следующей программы-функции

Option
Base 1

Function
Sum_str(x)

Dim
y()

Dim
M As Integer, N As Integer

M
= x.Rows.Count

N
= x.Columns.Count

ReDim
y(M)

For
i = 1 To M:

y(i)
= 0: For j = 1 To N: y(i) = y(i) + x(i, j): Next j

Next
i

Sum_str
= Application.Transpose(y)

End
Function

3)
Выделим диапазон ячеек E1:E4,
введем формулу =Sum_str(A1:C4) и удерживая
нажатыми клавиши Ctrl
и Shift
нажмем Enter.
В ячейках E1:E4
появятся числовые значения, совпадающие
со значениями в D1:D4.

Таблица
6

A

B

C

D

E

1

1

-1

9

9

9

2

2

2

4

8

8

3

3

3

1

7

7

4

4

5

3

12

12

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]

  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #

#Руководства

  • 23 май 2022

  • 0

Как с помощью макросов автоматизировать рутинные задачи в Excel? Какие команды они выполняют? Как создать макрос новичку? Разбираемся на примере.

Иллюстрация: Meery Mary для Skillbox Media

Ксеня Шестак

Рассказывает просто о сложных вещах из мира бизнеса и управления. До редактуры — пять лет в банке и три — в оценке имущества. Разбирается в Excel, финансах и корпоративной жизни.

Макрос (или макрокоманда) в Excel — алгоритм действий в программе, который объединён в одну команду. С помощью макроса можно выполнить несколько шагов в Excel, нажав на одну кнопку в меню или на сочетание клавиш.

Обычно макросы используют для автоматизации рутинной работы — вместо того чтобы выполнять десяток повторяющихся действий, пользователь записывает одну команду и затем запускает её, когда нужно совершить эти действия снова.

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

В статье разберёмся:

  • как работают макросы и как с их помощью избавиться от рутины в Excel;
  • какие способы создания макросов существуют и как подготовиться к их записи;
  • как записать и запустить макрос начинающим пользователям — на примере со скриншотами.

Общий принцип работы макросов такой:

  • Пользователь записывает последовательность действий, которые нужно выполнить в Excel, — о том, как это сделать, поговорим ниже.
  • Excel обрабатывает эти действия и создаёт для них одну общую команду. Получается макрос.
  • Пользователь запускает этот макрос, когда ему нужно выполнить эту же последовательность действий ещё раз. При записи макроса можно задать комбинацию клавиш или создать новую кнопку на главной панели Excel — если нажать на них, макрос запустится автоматически.

Макросы могут выполнять любые действия, которые в них запишет пользователь. Вот некоторые команды, которые они умеют делать в Excel:

  • Автоматизировать повторяющиеся процедуры.

    Например, если пользователю нужно каждый месяц собирать отчёты из нескольких файлов в один, а порядок действий каждый раз один и тот же, можно записать макрос и запускать его ежемесячно.

  • Объединять работу нескольких программ Microsoft Office.

    Например, с помощью одного макроса можно создать таблицу в Excel, вставить и сохранить её в документе Word и затем отправить в письме по Outlook.

  • Искать ячейки с данными и переносить их в другие файлы.

    Этот макрос пригодится, когда нужно найти информацию в нескольких объёмных документах. Макрос самостоятельно отыщет её и принесёт в заданный файл за несколько секунд.

  • Форматировать таблицы и заполнять их текстом.

    Например, если нужно привести несколько таблиц к одному виду и дополнить их новыми данными, можно записать макрос при форматировании первой таблицы и потом применить его ко всем остальным.

  • Создавать шаблоны для ввода данных.

    Команда подойдёт, когда, например, нужно создать анкету для сбора данных от сотрудников. С помощью макроса можно сформировать такой шаблон и разослать его по корпоративной почте.

  • Создавать новые функции Excel.

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

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

В Excel и других программах Microsoft Office макросы создаются в виде кода на языке программирования VBA (Visual Basic for Applications). Этот язык разработан в Microsoft специально для программ компании — он представляет собой упрощённую версию языка Visual Basic. Но это не значит, что для записи макроса нужно уметь кодить.

Есть два способа создания макроса в Excel:

  • Написать макрос вручную.

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

  • Записать макрос с помощью кнопки меню Excel.

    Способ подойдёт новичкам. В этом варианте Excel запишет программный код вместо пользователя. Нужно нажать кнопку записи и выполнить все действия, которые планируется включить в макрос, и после этого остановить запись — Excel переведёт каждое действие и выдаст алгоритм на языке VBA.

Разберёмся на примере, как создать макрос с помощью второго способа.

Допустим, специальный сервис автосалона выгрузил отчёт по продажам за три месяца первого квартала в формате таблиц Excel. Эти таблицы содержат всю необходимую информацию, но при этом никак не отформатированы: колонки слиплись друг с другом и не видны полностью, шапка таблицы не выделена и сливается с другими строками, часть данных не отображается.

Так выглядят таблицы с продажами автосалона в первоначальном виде
Скриншот: Skillbox Media

Пользоваться таким отчётом неудобно — нужно сделать его наглядным. Запишем макрос при форматировании таблицы с продажами за январь и затем применим его к двум другим таблицам.


Готовимся к записи макроса

Кнопки для работы с макросами в Excel находятся во вкладке «Разработчик». Эта вкладка по умолчанию скрыта, поэтому для начала разблокируем её.

В операционной системе Windows это делается так: переходим во вкладку «Файл» и выбираем пункты «Параметры» → «Настройка ленты». В открывшемся окне в разделе «Основные вкладки» находим пункт «Разработчик», отмечаем его галочкой и нажимаем кнопку «ОК» → в основном меню Excel появляется новая вкладка «Разработчик».

В операционной системе macOS это нужно делать по-другому. В самом верхнем меню нажимаем на вкладку «Excel» и выбираем пункт «Параметры…».

Нажимаем сюда, чтобы вызвать панель с дополнительными параметрами Excel в macOS
Скриншот: Skillbox Media

В появившемся окне нажимаем кнопку «Лента и панель».

Выбираем параметр «Лента и панель»
Скриншот: Skillbox Media

Затем в правой панели «Настроить ленту» ищем пункт «Разработчик» и отмечаем его галочкой. Нажимаем «Сохранить».

Отмечаем пункт «Разработчик» и сохраняем изменения
Скриншот: Skillbox Media

Готово — вкладка «Разработчик» появилась на основной панели Excel.

Теперь можно работать с макросами
Скриншот: Skillbox Media

Чтобы Excel смог сохранить и в дальнейшем использовать макрос, нужно пересохранить документ в формате, который поддерживает макросы. Это делается через команду «Сохранить как» на главной панели. В появившемся меню нужно выбрать формат «Книга Excel с поддержкой макросов».

Перед записью макросов нужно сохранить документ в формате с их поддержкой
Скриншот: Skillbox Media

Перед началом записи макроса важно знать об особенностях его работы:

  • Макрос записывает все действия пользователя.

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

  • Работу макроса нельзя отменить.

    Все действия, которые выполняет запущенный макрос, остаются в файле навсегда. Поэтому перед тем, как запускать макрос в первый раз, лучше создать копию всего файла. Если что-то пойдёт не так, можно будет просто закрыть его и переписать макрос в созданной копии.

  • Макрос выполняет свой алгоритм только для записанного диапазона таблиц.

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

Для начала записи макроса перейдём на вкладку «Разработчик» и нажмём кнопку «Записать макрос».

Нажимаем сюда, чтобы начать запись макроса
Скриншот: Skillbox Media

Появляется окно для заполнения параметров макроса. Нужно заполнить поля: «Имя макроса», «Сохранить в», «Сочетание клавиш», «Описание».

Так выглядит окно с параметрами макроса
Скриншот: Skillbox Media

«Имя макроса» — здесь нужно придумать и ввести название для макроса. Лучше сделать его логически понятным, чтобы в дальнейшем можно было быстро его найти.

Первым символом в названии обязательно должна быть буква. Другие символы могут быть буквами или цифрами. Важно не использовать пробелы в названии — их можно заменить символом подчёркивания.

«Сохранить в» — здесь нужно выбрать книгу, в которую макрос сохранится после записи.

Если выбрать параметр «Эта книга», макрос будет доступен при работе только в этом файле Excel. Чтобы макрос был доступен всегда, нужно выбрать параметр «Личная книга макросов» — Excel создаст личную книгу макросов и сохранит новый макрос в неё.

«Сочетание клавиш» — здесь к уже выбранным двум клавишам (Ctrl + Shift в системе Windows и Option + Cmd в системе macOS) нужно добавить третью клавишу. Это должна быть строчная или прописная буква, которую ещё не используют в других быстрых командах компьютера или программы Excel.

В дальнейшем при нажатии этих трёх клавиш записанный макрос будет запускаться автоматически.

«Описание» — необязательное поле, но лучше его заполнять. Например, можно ввести туда последовательность действий, которые планируется записать в этом макросе. Так не придётся вспоминать, какие именно команды выполнит этот макрос, если нужно будет запустить его позже. Плюс будет проще ориентироваться среди других макросов.

В нашем случае с форматированием таблицы заполним поля записи макроса следующим образом и нажмём «ОК».

Заполняем поля и жмём «ОК», чтобы начать запись
Скриншот: Skillbox Media

После этого начнётся запись макроса — в нижнем левом углу окна Excel появится значок записи.

Началась запись макроса — теперь в него попадут все клики мышки и нажатия клавиш
Скриншот: Skillbox Media

Пока идёт запись, форматируем таблицу с продажами за январь: меняем ширину всех столбцов, данные во всех ячейках располагаем по центру, выделяем шапку таблицы цветом и жирным шрифтом, рисуем границы.

Важно: в нашем случае у таблиц продаж за январь, февраль и март одинаковое количество столбцов, но разное количество строк. Чтобы в случае со второй и третьей таблицей макрос сработал корректно, при форматировании выделим диапазон так, чтобы в него попали не только строки самой таблицы, но и строки ниже неё. Для этого нужно выделить столбцы в строке с их буквенным обозначением A–G, как на рисунке ниже.

Так макрос будет работать и для таблиц с большим количеством строк
Скриншот: Skillbox Media

Если выбрать диапазон только в рамках первой таблицы, то после запуска макроса в таблице с большим количеством строк она отформатируется только частично.

Так макрос отформатирует только выбранные строки: если в других таблицах строк окажется больше, они останутся в первоначальном виде
Скриншот: Skillbox Media

После всех манипуляций с оформлением таблица примет такой вид:

Так выглядит таблица после форматирования
Скриншот: Skillbox Media

Проверяем, все ли действия с таблицей мы выполнили, и останавливаем запись макроса. Сделать это можно двумя способами:

  • Нажать на кнопку записи в нижнем левом углу.
  • Перейти во вкладку «Разработчик» и нажать кнопку «Остановить запись».

Нажимаем сюда, чтобы остановить запись макроса
Скриншот: Skillbox Media

Готово — мы создали макрос для форматирования таблиц в границах столбцов A–G. Теперь его можно применить к другим таблицам.


Запускаем макрос

Перейдём в лист со второй таблицей «Февраль_2022». В первоначальном виде она такая же нечитаемая, как и первая таблица до форматирования.

Так выглядит таблица до запуска макроса
Скриншот: Skillbox Media

Отформатируем её с помощью записанного макроса. Запустить макрос можно двумя способами:

  • Нажать комбинацию клавиш, которую выбрали при заполнении параметров макроса — в нашем случае Option + Cmd + Ф.
  • Перейти во вкладку «Разработчик» и нажать кнопку «Макросы».

Нажимаем сюда, чтобы вызвать панель для выбора макроса
Скриншот: Skillbox Media

Появляется окно — там выбираем макрос, который нужно запустить. В нашем случае он один — «Форматирование_таблицы». Под ним отображается описание того, какие действия он включает. Нажимаем «Выполнить».

Нажимаем сюда, чтобы запустить макрос для форматирования таблицы
Скриншот: Skillbox Media

Готово — вторая таблица с помощью макроса форматируется так же, как и первая.

За пару секунд с помощью макроса исходная таблица принимает такой вид
Скриншот: Skillbox Media

То же самое можно сделать и на третьем листе для таблицы продаж за март. Более того, этот же макрос можно будет запустить и в следующем квартале, когда сервис автосалона выгрузит таблицы с новыми данными.

Научитесь: Excel + Google Таблицы с нуля до PRO
Узнать больше

в приложении

Лекция: «Создание макросов  в приложении MS  Ехсеl».

 План лекции для студентов II курса:

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

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

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

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

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

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

http://xn--i1abbnckbmcl9fb.xn--p1ai/%D1%81%D1%82%D0%B0%D1%82%D1%8C%D0%B8/520385/1.gif

                                                                                        Рисунок 1

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

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

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

http://xn--i1abbnckbmcl9fb.xn--p1ai/%D1%81%D1%82%D0%B0%D1%82%D1%8C%D0%B8/520385/2.gif

                                                                                          Рисунок 2

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

Задание I

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

http://xn--i1abbnckbmcl9fb.xn--p1ai/%D1%81%D1%82%D0%B0%D1%82%D1%8C%D0%B8/520385/3.gif

                                                                                 Рисунок 3

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

2. Установите курсор в ячейке А4.
3. На панели   Visual Basic нажмите кнопку «Запись макроса» 
http://xn--i1abbnckbmcl9fb.xn--p1ai/%D1%81%D1%82%D0%B0%D1%82%D1%8C%D0%B8/520385/4.gifРисунок 4

4. Введите название макроса «ЦветШрифт» и нажмите клавишу «ОК». На экране появится панель инструментов «Остановить запись» http://xn--i1abbnckbmcl9fb.xn--p1ai/%D1%81%D1%82%D0%B0%D1%82%D1%8C%D0%B8/520385/5.gif Рисунок 5

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

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

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

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

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

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

http://xn--i1abbnckbmcl9fb.xn--p1ai/%D1%81%D1%82%D0%B0%D1%82%D1%8C%D0%B8/520385/6.gif

                                                                                          Рисунок 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. Текст по столбцам

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

http://xn--i1abbnckbmcl9fb.xn--p1ai/%D1%81%D1%82%D0%B0%D1%82%D1%8C%D0%B8/520385/8.gif
Рисунок 8

                                                                                            Рисунок 9

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

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

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

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

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

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

http://xn--i1abbnckbmcl9fb.xn--p1ai/%D1%81%D1%82%D0%B0%D1%82%D1%8C%D0%B8/520385/10.gif
Рисунок10.

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

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

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

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

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

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

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

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

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

  1. Как автоматизировать действия в приложениях.
  2. Дать понятие Макроса.
  3. Перечислить порядок записи простых Макросов               
  4. Выполнение Макросов.
  5. Назначение Макроса графическим объектам.
  6. Ограниченность Макросов.
  7. Попробуйте создать Макросы в Microsoft Word.

Практическая работа в MS Excel.

Создание «мультфильма» с помощью макроса.

Цель работы:

  • создание макроса в среде MS Excel;

  • способы запуска макросов;

  • редактирование текста макросов, записанных на языке VBA.

Ход выполнения работы:

  1. Подготовим сцену и расставим на ней героев. Пусть у нас это будет сценка из известной сказки «Колобок». Допустим, фоновая картинка выглядит примерно так:

(используем элементы встроенной векторной графики – панель Рисования). Домик можно получить из нескольких параллелепипедов (для их рисования используйте инструмент Прямоугольник и Объём). Трава – это просто закрашенные ячейки Excel. Посадим на крылечко дома Колобка («улыбающееся лицо»).

  1. Теперь можно пустить нашего героя в путешествие. Вот здесь и понадобится макрос. При создании макроса важно продумать все действия, которые он должен будет выполнять. Наш макрос должен показывать последовательные фазы перемещения Колобка. Смещать его по экрану просто, но при выполнении макроса (показе фильма) он будет перемещаться очень быстро. Чтобы сделать движение плавным, необходимо останавливать Колобка в какие-то моменты (как бы щелкать затвором фотокамеры, как это делается при съёмках рисованного мультфильма). В качестве такого «щелчка» выберем щелчок мышью по одной и той же ячейке листа. Пусть это будет ячейка Е1. Движение Колобка должно происходить по траектории небольшого прыжка и разбито на несколько маленьких продвижений.

Фазы перемещений будут приблизительно выглядеть так.

  1. Итак, последовательность действий при записи макроса должна быть такой:

    1. Выделить Колобка.

    2. Переместить его в следующую позицию.

    3. «Щелкнуть затвором» (на ячейке Е1).

    4. Если не дошли до пенька, то перейти к пункту 1, в противном случае запрыгнуть на пенёк и остановить запись макроса.

  2. Теперь вы можете записать макрос Сервис – Макрос — Начать запись, дать макросу имя или запомнить предложенное.

  3. Когда всё будет готово, лучше убрать сетку листа ( Сервис – Параметры выбрать вкладку Вид и на ней убрать «галочку» возле надписи Сетка)

  4. Для запуска своего макроса можно вызвать диалоговое окно Макрос (Сервис – Макрос – Макросы), выделить свой макрос и дать команду Выполнить. Хотя сделать это можно разными способами, например, встроив команду в меню, создав кнопку на панели инструментов, или задав выполнение макроса комбинации клавиш, или назначив вызов макроса какому-нибудь объекту (в нашем случае можно назначить макрос самому Колобку). Для этого перетащите его обратно на крылечко дома, затем щелкните по нему правой кнопкой мыши, в появившемся контекстном меню выберите пункт Назначить макрос…, и отметив созданный макрос в списке всех доступных макросов, нажмите ОК. для запуска макроса щелкните где-нибудь вне Колобка, а затем наведите на него указатель мыши. Появится рука с пальцем – признак того, что Колобок стал управляющей кнопкой. Жмите и любуйтесь!

  5. Несмотря на «щелчок» затвором, перемещения героя вашего фильма всё же будут быстрыми. Можно несколько изменить текст макроса, используя оператор цикла. Чтобы сделать движение Колобка плавными, необходимо включить в текст макроса так называемые «пустые циклы», как – бы замедляя тем самым его движение. На языке VBA такой цикл имеет вид:

FOR I=1 TO 10000000

NEXT I

Для внесения таких изменений в текст макроса следует вызвать диалоговое окно Макрос (Сервис – Макрос – Макросы), выделить требуемый макрос и щелкнуть на кнопке Изменить. В появившемся окне, в котором представлен текст макроса, после каждой строки Range (“E1”). Select (эта команда соответствует щелчку мышью на ячейке Е1 при записи макроса) необходимо вставить «пустой» цикл.

8. Показать работу учителю.

  1. Можно создать второй макрос, при выполнении которого Колобок спрыгивает с пенька и возвращается назад, или можно отправиться в путешествие дальше (всё это зависит от вашей фантазии).

  2. Аналогично можно создавать мультфильмы в программах MS Word и MS PowerPoint.

Понравилась статья? Поделить с друзьями:
  • Макрос документ word не открывая его
  • Макрос добавляющий строку excel
  • Макрос добавление строки по условию excel
  • Макрос добавление кнопки excel
  • Макрос добавить строку в таблицу excel