Макросы Excel - абсолютные ссылки
Макросы Excel можно записывать как с абсолютными, так и с относительными ссылками. Макрос, записанный с абсолютными ссылками, помещает записанные шаги точно в те ячейки, где они были записаны, независимо от активной ячейки. С другой стороны, макрос, записанный с относительными ссылками, может выполнять записанные задачи в разных частях рабочего листа.
В этой главе вы узнаете об абсолютных ссылках для макросов. Вы узнаете об относительных ссылках в следующей главе.
Предположим, вам нужно отправлять отчет о работе вашей команды в конце каждого дня в следующем формате:
Теперь отчет должен быть помещен в ячейку B2 и должен быть в заданном формате.
Образец заполненного отчета будет таким, как показано ниже -
За исключением данных в следующих ячейках, информация является постоянной для каждого отчета, который вы создаете для проекта.
- C3 - Отчет за дату.
- C13 - Количество выполненных сегодня задач.
- C14 - Общее количество выполненных задач.
- C15 - Работа выполнена на%.
Из них также в C3 (Отчет за дату) вы можете поместить функцию Excel = TODAY ()который помещает дату вашего отчета без вашего вмешательства. Кроме того, в ячейке C15 вы можете иметь формулу C14 / C12 и отформатировать ячейку C15 в процентах, чтобы Excel рассчитал для вас% завершения работы.
В результате у вас остается только две ячейки - C13 и C14, которые вы должны заполнять каждый день. Следовательно, было бы идеально иметь информацию для остальных ячеек каждый раз, когда вам нужно создавать отчет. Это экономит ваше время, и вы можете выполнять рутинную работу по составлению отчетов всего за несколько минут.
Теперь предположим, что вам нужно отправить такие отчеты по трем проектам. Вы можете себе представить, сколько времени вы можете сэкономить, заняться более сложной работой в течение дня и, конечно же, получить похвалы от своего руководства.
Вы можете добиться этого, записав макрос для каждого проекта и запустив его изо дня в день для создания необходимых отчетов всего за несколько минут. Однако каждый раз, когда вы запускаете макрос, отчет должен появляться на листе, как указано выше, независимо от активной ячейки. Для этого вы должны использовать абсолютные ссылки.
Обеспечение абсолютных ссылок
Чтобы записать макрос с абсолютными ссылками, вы должны убедиться, что макрос записывается, начиная с ячейки, где должны начинаться шаги. Это означает, что в случае примера, приведенного в предыдущем разделе, вам необходимо сделать следующее:
- Начните запись макроса.
- Создайте новый рабочий лист.
- Щелкните любую ячейку, кроме B2 на новом листе.
- Щелкните ячейку B2.
- Продолжайте записывать макрос.
Это создаст новый рабочий лист для каждого нового отчета, а формат отчета будет помещаться в ячейку B2 каждый раз, когда вы запускаете макрос.
Note - Первые три шага, указанные выше, очень важны.
Если вы не создаете новый рабочий лист, при запуске макроса он помещает все, что вы записали, на тот же рабочий лист в том же месте. Это не то, что вам нужно. Вам нужно, чтобы каждый отчет был на отдельном листе.
Если не щелкнуть другую ячейку в начале записи, даже если активной является ячейка B2, Excel поместит записанные шаги в активную ячейку. Когда вы запускаете макрос, он помещает записанный формат отчета в любую часть рабочего листа в зависимости от активной ячейки. Явным щелчком по ячейке, отличной от B2, а затем по ячейке B2, вы указываете устройству записи всегда помещать шаги макроса в ячейку B2.
Запись макроса
Вы можете начать запись макроса с Record Macroна Ленте на вкладке ВИД → Макросы. Вы также можете щелкнутьStart Recording Macro кнопка присутствует в левой части панели задач Excel.
Начните запись макроса. ВRecord Macro появится диалоговое окно.
Дайте значимое имя, чтобы идентифицировать макрос как отчет о конкретном проекте.
Выберите эту книгу в Store macro in, так как вы будете создавать отчеты только из этой конкретной книги.
Дайте описание вашему макросу и нажмите OK.
Ваш макрос начинает запись.
Создайте новый рабочий лист. Это гарантирует, что ваш новый отчет будет на новом листе.
Щелкните любую ячейку, кроме B2 на новом листе.
Щелкните ячейку B2. Это гарантирует, что макрос всегда помещает ваши записанные шаги в B2.
Создайте формат для отчета.
Заполните статическую информацию для отчета по проекту.
Поместите = СЕГОДНЯ () в C3 и = C14 / C12 в ячейку C15.
Отформатируйте ячейки датами.
Остановите запись макроса.
Вы можете остановить запись макроса с помощью Stop Recording на ленте на вкладке ВИД → Макросы или нажав кнопку «Остановить запись макроса» в левой части панели задач Excel.
Макрос вашего отчета по проекту готов. Сохраните книгу как книгу с поддержкой макросов (с расширением .xlsm).
Запуск макроса
Вы можете сгенерировать любое количество отчетов за несколько секунд, просто запустив макрос.
- Нажмите кнопку ПРОСМОТР на ленте.
- Щелкните Макросы.
- В раскрывающемся списке выберите Просмотреть макросы. Откроется диалоговое окно «Макрос».
- Щелкните макрос Report_ProjectXYZ.
- Щелкните кнопку "Выполнить".
В вашей книге будет создан новый рабочий лист с созданным в нем набором элементов отчета в ячейке B2.