Excel 2020: улучшите запись макросов - Советы по Excel

Мне понравилась версия Macro Recorder 1985 года в Lotus 1-2-3. Код было трудно понять, но он работал. В программе записи макросов Excel есть некоторые настройки по умолчанию, которые причиняют страдания любому, кто пытается записать макросы. Вот три совета, которые помогут улучшить работу с макросами.

Совет 1. Включите относительную ссылку для каждого макроса.

Предположим, вы начинаете с A2 и записываете простой макрос, который переходит в A4. Я бы назвал этот макрос MoveDownTwoCells. Но если вы запустите этот макрос, когда указатель ячейки находится в J10, макрос переместится в ячейку A4. Это редко бывает тем, чего вы хотите. Но вы можете изменить поведение средства записи макросов, выбрав «Просмотр», «Макросы», «Использовать относительные ссылки» перед записью макроса.

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

Осторожно

Этот параметр остается включенным только до закрытия Excel. Завтра придется снова включить.

Подсказка

Что, если вам действительно нужно записать макрос, который всегда переходит в ячейку A4? Даже с включенными относительными ссылками вы можете нажать F5 для перехода и использовать диалоговое окно «Перейти» для перехода к A4. Регистратор макросов будет записывать код, который всегда будет переходить на A4.

Совет 2: используйте Ctrl + Shift + стрелка, чтобы перейти к концу набора данных.

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

Найдите столбец, который надежно заполнен на 100%. Сверху этого столбца запишите действие нажатия Ctrl + Shift + Стрелка вниз. Нажмите клавишу со стрелкой вниз еще раз, и вы узнаете, что находитесь в строке, где должны быть итоги.

Совет 3. Введите =SUM(E$2:E8)вместо нажатия кнопки автосуммирования

Средство записи макросов не записывает намерение автосуммы. Когда вы нажмете Автосумма, вы получите функцию суммы, которая начинается в ячейке выше и продолжается до первой нечисловой ячейки. Не имеет значения, включены ли у вас Относительные ссылки; регистратор макросов жестко запрограммирует, что вы хотите суммировать семь ячеек над активной ячейкой.

Вместо того , чтобы использовать значок Автосуммы, введите функцию SUM с одним знаком доллара перед первым номером строки: =SUM(E$2:E8). Используйте эту формулу при записи макроса, и макрос будет надежно суммировать от ячейки над активной ячейкой до строки 2, как показано ниже.

Интересные статьи...