Макрос с относительными ссылками
В приведенном примере при вызове макроса заполняется именно диапазон ячеек А1:А10, и никакой другой. В данном случае заполняемый диапазон ячеек не зависит от того, какая ячейка активна на момент запуска макроса. Таким образом, ссылка на указанный диапазон является абсолютной. Это обстоятельство существенно ограничивает возможности применения данного макроса, однако часто бывает полезно при создании макроса использовать не абсолютные, а относительные ссылки.
Такая возможность предусмотрена. Для того чтобы ссылки на ячейки или диапазоны интерпретировались как относительные, на панели Остановка записи при записи макроса следует предварительно щелкнуть на кнопке, находящейся справа от кнопки остановки записи макроса (рис. 7).
Рис. 7. Переход к режиму использования относительных ссылок
В частности, если эта кнопка отображается нажатой, то все ссылки в процессе записи интерпретируются как относительные. Если щелкнуть на ней еще раз ссылки будут интерпретироваться как абсолютные. В процессе записи макроса можно неоднократно щелкать на этой кнопке, помещая в макрос как абсолютные, так и относительные ссылки.
Ниже эта особенность манипулирования ссылками будет использована для того, чтобы создать макрос, с помощью которого в диапазон ячеек, начиная с выбранной при запуске макроса, будут заноситься натуральные числа от 1 до 10, затем активизируется ячейка А1.
Сам процесс создания подобного макроса практически ничем не отличается от предыдущего случая (следует только учесть особенности использования относительных и абсолютных ссылок). Ниже перечислены основные этапы создания данного макроса и подчеркнуты те моменты, на которые следует обратить внимание.
Совет.Удобно создавать данный макрос в той же книге, где был создан макрос из предыдущего примера. Для его записи можно, например, перейти к новому рабочему листу.
1. Выберите команду Сервис | Макрос | Начать запись…. В открывшемся диалоговом окне Запись макроса укажите имя макроса (можно что-то вроде Му_Масrо_2). Комментарий большого значения не имеет, а вот в качестве горячей комбинации клавиш целесообразно указать <Ctrl+Shift+В> — для этого достаточно в поле Сочетание клавиш ввести курсор и нажать клавишу <В> на клавиатуре. При этом в соответствующем поле отображается строчная литера. Таким образом, для запуска макроса, заполняющего числами ячейки диапазона А1:А10,можно нажать комбинацию <Ctrl+Shift+В>, а для заполнения ячеек диапазона, верхняя левая ячейка которого совпадает с текущей (активной на момент запуска макроса), — комбинацию <Ctrl+Shift+В>.
2. Сразу же следует на панели Остановить запись щелкнуть на правой кнопке, включив тем самым режим использования относительных ссылок.
3. После этого в ячейку А1 вводится число 1, в ячейку А2 — число 2, диапазон А1 :А2 выделяется и расширяется до А1 :А10.
4. Теперь следует еще раз щелкнуть на правой кнопке панели Остановка записи— это переведет MS Excel в режим использования абсолютных ссылок.
5. Все, что осталось, — это щелкнуть мышью в ячейке А1, сделав ее тем самым активной.
6. В завершение записи макроса щелкните на кнопке останова записи на панели Остановка записи.Макрос готов к использованию.
Проверить работу макроса можно, выделив какую-то ячейку в рабочем листе, отличную от A1, и нажав <Ctrl+Shift+В>.
Совет.Все это лучше делать в чистом рабочем листе. Если трех рабочих листов книги, предлагаемых по умолчанию для работы, недостаточно, можно добавить еще один рабочий лист. Это делается посредством выбора команды Вставка | Лист.
Теперь достаточно будет нажать комбинацию клавиш <Ctrl+Shift+В>, в результате чего диапазон из десяти ячеек, начиная с активной на момент запуска макроса, будет заполнен последовательными натуральными числами от 1 до 10, активной станет ячейка А1.
Точно таким же образом при записи макросов можно задавать всевозможные параметры для данных в ячейках таблицы: размер символов тип выравнивания, цвет шрифта и т.п.