В Excel есть два режима записи макросов: с помощью абсолютных и относительных ссылок. По умолчанию используется запись макросов с помощью абсолютных ссылок. Абсолютные ссылки не могут автоматически настраиваться при вставке формулы в новое местоположение. Чтобы лучше понять эту концепцию, выполните конкретный пример, создав файл и вписав данные как на скриншоте.
Для создания макроса в Excel выполните следующие действия:
1. Выделите ячейку А1.
2. На вкладке Разработчик щелкните на кнопке Запись макроса (показано в статье №1).
3. Присвойте макросу имя "Абсолютный" и выберите параметр Эта книга в поле Сохранить в.
4. Щелкните на кнопке ОК, чтобы начать запись макроса (диалоговое окно "Запись макроса", закроется).
5. В процессе записи макроса выполните следующие действия:
• Выделите ячейку (А11) и введите слово "Всего".
• Выберите первую пустую ячейку (В11) и введите =СЧЁТЗ(В2:В10) после чего нажмите Enter.
6. Чтобы остановить запись макроса, щелкните на кнопке Остановить запись на вкладке Разработчик.
Необходимо отметить, что функция СЧЁТЗ используется для подсчета количества непустых ячеек в диапазоне.
Рабочий лист теперь выглядит так, как показано на скриншоте.
Чтобы просмотреть макрос в действии, нужно удалить строку итогов, созданную ранее, и снова запустить макрос.
Для этого следуйте инструкциям:
- Нажмите на кнопку Макросы на вкладке "Разработчик".
- Выберите макрос "Абсолютный", который вы только что записали.
- Нажмите на кнопку "Выполнить", как показано на скриншоте.
После выполнения макроса будут повторены действия, которые были записаны ранее, в результате чего будет пересчитан итоговый результат. Однако, независимо от того, сколько раз вы запустите макрос "Абсолютный", итог для второй таблицы не будет вычислен. Это связано с тем, что при записи макроса использовались абсолютные ссылки.
Чтобы лучше понять ситуацию, давайте изучим этот код. Откройте диалоговое окно Макрос, нажав на кнопку "Макросы" на вкладке "Разработчик", а затем выберите макрос "Абсолютный" и нажмите на кнопку "Изменить". Это откроет окно редактора Visual Basic, в котором будет код, созданный в процессе записи макроса.
Обратите внимание на строки которые отмечены стрелками. Если вы запрашиваете Excel выбрать ячейки (А11) и (В11), то именно эти ячейки будут выбраны при выполнении макроса. Это связано с тем, что макрос записан в режиме абсолютных ссылок. Это означает, что программа интерпретирует выбор диапазона как абсолютный. Другими словами, если выбирается ячейка (А11), то именно эта ячейка будет предоставлена.
В следующей статье мы рассмотрим, как выглядит макрос, записанный в режиме относительных ссылок.
Предыдущая статья "Проверка, тестирование и редактирование макроса"