Макросы Excel могут быть записаны с абсолютными или относительными ссылками. Макрос, записанный с абсолютными ссылками, помещает записанные шаги точно в ячейки, где он был записан, независимо от активной ячейки. С другой стороны, макрос, записанный с относительными ссылками, может выполнять записанные задачи в разных частях рабочего листа.
Вы узнаете об абсолютных ссылках на макрос в этой главе. Вы узнаете об относительных ссылках в следующей главе.
Предположим, что вы должны подавать отчет о работе вашей команды в конце каждого дня в следующем формате:
Теперь отчет должен быть помещен в ячейку B2 и должен быть в заданном формате.
Образец, заполненный в отчете, будет таким, как показано ниже —
За исключением данных в следующих ячейках, информация является постоянной для каждого отчета, который вы генерируете для проекта.
- C3 — Отчет за дату.
- C13 — Количество задач, выполненных сегодня.
- C14 — Общее количество выполненных задач.
- C15 -% работа выполнена.
Из них также в C3 (Отчет за дату) вы можете поместить функцию Excel = TODAY (), которая помещает дату вашего отчета без вашего вмешательства. Кроме того, в ячейке C15 вы можете использовать формулу C14 / C12 и отформатировать ячейку C15 в процентах, чтобы рассчитать% Work Complete для вас в Excel.
Это оставляет вам только две ячейки — C13 и C14, которые вы должны заполнять каждый день. Следовательно, было бы идеально иметь информацию для остальных ячеек каждый раз, когда вам нужно создать отчет. Это экономит ваше время, и вы можете выполнять обычные действия по составлению отчетов всего за несколько минут.
Теперь предположим, что вы должны отправить такие отчеты для трех проектов. Вы можете вообразить время, которое вы можете сэкономить и заняться более сложной работой в течение дня и, конечно, получить похвалы от вашего руководства.
Этого можно добиться, записав макрос для каждого проекта и выполняя их ежедневно, чтобы создать необходимые отчеты всего за несколько минут. Однако каждый раз, когда вы запускаете макрос, отчет должен появляться на рабочем листе, как указано выше, независимо от активной ячейки. Для этого вы должны использовать абсолютные ссылки.
Обеспечение Абсолютных Ссылок
Чтобы записать макрос с абсолютными ссылками, вы должны убедиться, что макрос записывается, начиная с ячейки, где должны начинаться шаги. Это означает, что в случае примера, приведенного в предыдущем разделе, вам нужно сделать следующее:
- Начните запись макроса.
- Создайте новый лист.
- Щелкните в любой ячейке, кроме B2, на новом листе.
- Нажмите в ячейке B2.
- Продолжить запись макроса.
Это создаст новый лист для каждого нового отчета и будет помещать формат отчета в ячейку B2 при каждом запуске макроса.
Примечание . Первые три шага, приведенные выше, очень важны.
-
Если вы не создаете новый рабочий лист, при запуске макроса он помещает все, что вы записали, на один и тот же рабочий лист в одно и то же место. Это не то, что вы хотите. Вы должны иметь каждый отчет на отдельном листе.
-
Если вы не нажмете другую ячейку в начале записи, даже если активная ячейка — B2, Excel поместит записанные шаги в активную ячейку. Когда вы запустите макрос, он поместит записанный формат отчета в любую часть рабочего листа на основе активной ячейки. Явно щелкая в ячейке, отличной от B2, а затем в ячейке B2, вы говорите рекордеру всегда размещать ваши макроэтапы в ячейке B2.
Если вы не создаете новый рабочий лист, при запуске макроса он помещает все, что вы записали, на один и тот же рабочий лист в одно и то же место. Это не то, что вы хотите. Вы должны иметь каждый отчет на отдельном листе.
Если вы не нажмете другую ячейку в начале записи, даже если активная ячейка — B2, Excel поместит записанные шаги в активную ячейку. Когда вы запустите макрос, он поместит записанный формат отчета в любую часть рабочего листа на основе активной ячейки. Явно щелкая в ячейке, отличной от B2, а затем в ячейке B2, вы говорите рекордеру всегда размещать ваши макроэтапы в ячейке B2.
Запись макроса
Вы можете начать запись макроса с помощью команды « Запись макроса» на ленте на вкладке «ПРОСМОТР» → «Макросы». Вы также можете нажать кнопку « Начать запись макроса» в левой части панели задач Excel.
-
Начните запись макроса. Откроется диалоговое окно « Запись макроса ».
-
Дайте осмысленное имя, чтобы идентифицировать макрос как отчет о конкретном проекте.
-
Выберите «Эта книга» в разделе « Макрос магазина» , поскольку отчеты будут создаваться только из этой конкретной книги.
-
Дайте описание вашему макросу и нажмите ОК.
Начните запись макроса. Откроется диалоговое окно « Запись макроса ».
Дайте осмысленное имя, чтобы идентифицировать макрос как отчет о конкретном проекте.
Выберите «Эта книга» в разделе « Макрос магазина» , поскольку отчеты будут создаваться только из этой конкретной книги.
Дайте описание вашему макросу и нажмите ОК.
Ваш макрос начинает запись.
-
Создайте новый лист. Это гарантирует, что ваш новый отчет будет на новом листе.
-
Щелкните в любой ячейке, кроме B2, на новом листе.
-
Нажмите в ячейке B2. Это гарантирует, что макрос всегда помещает ваши записанные шаги в B2.
-
Создайте формат для отчета.
-
Заполните статическую информацию для отчета по проекту.
-
Поместите = СЕГОДНЯ () в C3 и = C14 / C12 в ячейку C15.
-
Отформатируйте ячейки с датами.
Создайте новый лист. Это гарантирует, что ваш новый отчет будет на новом листе.
Щелкните в любой ячейке, кроме B2, на новом листе.
Нажмите в ячейке B2. Это гарантирует, что макрос всегда помещает ваши записанные шаги в B2.
Создайте формат для отчета.
Заполните статическую информацию для отчета по проекту.
Поместите = СЕГОДНЯ () в C3 и = C14 / C12 в ячейку C15.
Отформатируйте ячейки с датами.
Прекратите запись макроса.
Остановить запись макроса можно либо с помощью команды « Остановить запись» на ленте на вкладке «ПРОСМОТР» → «Макросы», либо нажав кнопку «Остановить запись макроса», расположенную в левой части панели задач Excel.
Макрос вашего отчета о проекте готов. Сохраните книгу как макрокоманду (с расширением .xlsm).
Запуск макроса
Вы можете создать любое количество отчетов за несколько секунд, просто запустив макрос.
- Нажмите кнопку VIEW на ленте.
- Нажмите Макросы.
- Выберите View Macros из выпадающего списка. Откроется диалоговое окно «Макрос».
- Щелкните макрос Report_ProjectXYZ.
- Нажмите кнопку «Выполнить».
В вашей книге будет создан новый лист, а в ячейке B2 будет создан трафарет отчета.