Оригинал статьи: https://www.howtoexcel.org/edit-macros/
Начинаете ли вы записывать макрос с нуля, если вам нужно изменить один небольшой шаг? Прекратите так делать и сэкономьте время, научившись редактировать макросы в Excel.
Макросы Excel помогают автоматизировать повторяющиеся задачи в Excel. Вы можете создать макрос, записав свои действия на листе Excel или написав скрипт Excel VBA. Иногда предварительно записанный макрос может не работать для нового сценария на вашем листе, пока вы не внесете небольшие изменения.
В основном, вы начнете создавать новый макрос для новой задачи преобразования данных, анализа или визуализации. Однако вы можете получить доступ к сценарию Excel VBA существующего макроса и внести небольшие изменения, чтобы код VBA соответствовал новому сценарию работы в Excel.
Теперь вы можете спросить, как изменить записанный вами макрос, выполнив действия на вашем листе Excel. Если вы работали с макросами Excel на уровне кода, то, возможно, вы уже знаете ответ.
Если вы этого не делали, не волнуйтесь. Прочтите это руководство до конца, чтобы изучить различные методы редактирования макросов в Excel, чтобы вы могли удобно использовать ранее записанные макросы.
Зачем нужно редактировать макросы в Excel?
Основная причина редактирования макроса - сделать его пригодным для повторного использования в аналогичных проектах Excel. Кроме того, когда вы записываете макрос, содержащий сотни шагов, если вы совершаете какие-либо неправильные действия, вы можете отредактировать базовый код макроса, чтобы устранить проблему. Таким образом, вы можете избежать переделывания всего макроса с самого начала.
Существуют и другие основные причины для редактирования макросов, и они описаны ниже:
- Вы получили рабочую книгу, содержащую макросы, из работы или клиента. Вам необходимо использовать макросы, но также необходимо убедиться, что эти макросы не будут запускать вредоносные коды в вашей рабочей книге Excel. Здесь вы можете использовать свои навыки редактирования макросов.
- Записанные макросы добавляют избыточные коды к скрипту Excel VBA указанного макроса. После записи макроса вы можете получить доступ к его внутреннему коду и отредактировать его, чтобы удалить избыточность. Это делает ваши макросы меньше по размеру и более гибкими.
- Вы еще изучаете Excel на VBA и не можете закодировать весь макрос на языке VBA. Вы можете использовать macro recorder в Excel для создания макроса. Затем получить доступ к его коду, чтобы понять, какие функции использует макрос, и соответствующие им коды VBA.
- Вы также можете использовать свои навыки редактирования макросов, чтобы преобразовать базовый макрос в продвинутый. Если вы уже знаете сценарии VBA в Excel, отредактируйте макрос и начните добавлять логические инструкции, коды интеграции сторонних производителей и т.д., для разработки расширенной автоматизации в Excel.
- Иногда программа записи макросов Excel не может добавить многие действия пользовательского интерфейса, выполняемые во время записи макроса. Чтобы добавить их в окончательный сценарий VBA, вы должны знать, как редактировать макросы в Excel.
- Чтобы ускорить работу с длинными макросами, вы можете отредактировать их коды VBA, чтобы удалить ненужные действия, такие как обновление экрана, эффекты прокрутки, перемещения курсора и т.д.
Теперь, когда вы узнали причины редактирования макросов в Excel, ознакомьтесь ниже с тем, как приступить к процессу.
Подготовка рабочей книги Excel к началу редактирования макросов
Прежде чем вы сможете редактировать макрос в своей книге Excel, вы должны внести в него некоторые изменения. Обычно макросы не сразу видны. Вы можете найти макросы на вкладке "Разработчик" (Developer) настольного приложения Excel. Если вы не видите вкладку "Разработчик" в вашей установке Excel, вы не сможете редактировать макросы.
Итак, выполните указанные ниже действия, чтобы настроить вашу книгу Excel для редактирования макросов.
Добавить вкладку разработчика в Excel
Вкладка Разработчик в Excel предназначена для пользователей Excel продвинутого уровня. Итак, если вы только что установили приложение Excel на свой компьютер или никогда не редактировали макросы после установки приложения, вкладка Разработчик может отсутствовать в программном обеспечении.
Прочтите эту статью, чтобы узнать, как включить вкладку разработчик в вашем приложении Excel. После завершения выполните следующие действия.
Показать личную книгу макросов
В Excel Личная рабочая книга ссылается на скрытую рабочую книгу под названием PERSONAL.XLSB или PERSONAL.XLSM.
Эта скрытая книга представляет собой специальный файл, который служит глобальным хранилищем макросов для Excel. Любые макросы или пользовательские функции, сохраненные в Персональной книге, доступны для всех других книг, открытых на том же компьютере.
Таким образом, эта книга становится местом для хранения часто используемых макросов или функций, к которым вы хотите получить доступ из любого файла Excel.
По умолчанию? вы не увидите Личную рабочую книгу при открытии листа Excel на вашем компьютере. Однако вам необходимо визуализировать этот файл при редактировании макросов в вашей рабочей книге Excel.
Вот как вы можете получить доступ к персональной книге для макросов в вашем настольном приложении Excel:
- Перейдите на вкладку "Вид" в меню "Лента Excel".
- Перейдите в блок команд Window.
- При наличии скрытой личной книги кнопка "Не показывать" будет активна.
- Нажмите Показать, чтобы отобразить персональную книгу макросов.
- Закончив редактирование макросов, скройте личную книгу, нажав кнопку Скрыть.
Измените параметры безопасности макросов
Параметры безопасности макросов в Excel - это набор параметров, которые управляют тем, как Excel обрабатывает макросы и код VBA (Visual Basic для приложений) в книгах. Существует четыре параметра безопасности макросов.
Эти настройки не позволяют хакерам запускать вредоносные коды в вашей книге Excel и, следовательно, на вашем компьютере, отправляя вам макросы в случайных книгах.
По умолчанию, настройки Отключения макросов VBA с уведомлениями защищают вас от вредоносного кода VBA. Однако, если вы должны запускать или редактировать макросы в своей книге, вам необходимо сначала включить макросы VBA.
Если вы доверяете отправителю книги Excel или создаете макросы самостоятельно, вы можете включить макросы, не особо беспокоясь. Вот как изменить параметры безопасности макросов:
- Перейдите на вкладку "Разработчик".
- Нажмите кнопку Защита макроса внутри блока команд Code.
- Выберите четвертый параметр: Включить макросы VBA.
- Нажмите OK, чтобы сохранить и закрыть диалоговое окно "Центр доверия".
Если вы редко используете макросы или редактируете макросы, вам следует изменить настройку Центр доверия> Настройки макроса, чтобы отключить макросы VBA без уведомления.
Отредактируйте макрос в Excel на вкладке Разработчик
Стандартный способ редактирования макроса в Excel - это доступ к диалоговому окну макроса на вкладке Разработчик. Вот шаги, которым вы можете следовать:
- Перейдите на вкладку "Разработчик" в Excel.
- Нажмите кнопку "Макросы" в блоке "Код".
- Должно появиться диалоговое окно "Макрос".
- В этом окне должны быть показаны все сохраненные макросы в вашей книге Excel.
- Выберите макрос, который вы хотите отредактировать.
- Нажмите кнопку Редактировать с правой стороны.
Базовая кодовая база VBA для выбранного макроса откроется в редакторе VBA Excel.
Теперь вы можете редактировать функции и шаги макроса. Закончив редактирование макроса, нажмите кнопку Сохранить на панели инструментов редактора Excel VBA.
Редактируйте макросы в Excel с помощью сочетаний клавиш
Если вам нравится использовать клавиатуру для быстрой работы над вашим проектом Excel, этот метод специально для вас. Ниже приведены различные горячие клавиши и сочетания клавиш для редактирования макроса без использования мыши:
- В книге Excel, содержащей макросы, нажмите Alt + F8, чтобы открыть диалоговое окно макроса.
- Используйте клавиши Up Arrow и Down Arrow, чтобы выбрать макрос, который вы хотите отредактировать.
- Дважды нажмите Tab клавишу, чтобы переключить выбор в меню правой части диалогового окна макросов.
- Следует выполнить первый выбор.
- Нажмите Down Arrow клавишу, чтобы перейти к кнопке Редактировать.
- Нажмите Enter для выполнения.
Теперь вы можете приступить к редактированию макроса, следуя этим инструкциям:
- Скрипт VBA для выбранного макроса откроется в интерфейсе редактора VBA.
- Курсор уже должен находиться в области кода.
- Внесите нужные изменения и нажмите Ctrl + S, чтобы сохранить модуль.
- Нажмите комбинацию клавиш Alt + Q, чтобы закрыть редактор Excel VBA.
Отредактируйте макрос в Excel с помощью редактора Excel VBA
Предположим, вы открыли редактор Excel VBA для редактирования макроса. Внезапно вам приходит в голову, что другой макрос также нуждается в редактировании. Вы закрываете редактор и запускаете процесс с самого начала? Конечно, нет!
Редактор Excel VBA имеет доступ ко всем макросам во всех открытых книгах. Отсюда вы можете получить доступ даже к тем макросам, которые вы сохранили в личной книге макросов.
Ниже приведены простые шаги по редактированию всех макросов в вашем Excel с помощью интерфейса редактора VBA:
- Нажмите клавиши Ctrl + R, чтобы открыть боковую панель Project Explorer в редакторе Excel VBA.
- Вы должны увидеть дерево объектов.
- В папке Modules должны быть перечислены все макросы.
- Тот, в котором вы уже работаете, должен быть выделен серым цветом.
- Дважды щелкните другой модуль (макрос), который вы хотите отредактировать.
Вот как вы можете дополнительно отредактировать сценарий и сохранить его для дальнейшего использования:
- Его скрипт на VBA откроется в окне кода с правой стороны.
- Внесите необходимые изменения и нажмите Ctrl + S, чтобы сохранить изменения.
- Нажмите кнопку Закрыть, чтобы закрыть инструмент Excel VBA Editor.
Редактирование модуля макроса в Excel
Всякий раз, когда вы создаете новый модуль, Excel называет его как Модуль 1, Модуль 2 и т.д. Это неэффективный способ организации всех модулей книги Excel.
Вам следует переименовать модули, чтобы отразить название макроса, с которым они связаны. Это поможет вам и любым другим пользователям этих макросов узнать, какую автоматизацию выполняют эти модули.
Ниже приведены краткие инструкции по переименованию модулей Excel VBA:
- Откройте редактор Excel VBA в своей книге Excel, одновременно нажав Alt + F11 клавиши.
- Выберите модуль, который вы хотите переименовать, на левой панели редактора VBA.
- Нажмите F4 клавишу, чтобы вызвать панель "Свойства модуля".
- Перейдите на вкладку "Алфавитный".
- Дважды щелкните по имени стандартного модуля, чтобы начать редактирование.
- Введите имя по вашему выбору.
Вот и все! Редактор Excel VBA мгновенно переименует модуль с пользовательским именем. То же самое должно появиться в дереве объектов на левой боковой панели редактора VBA.
Редактирование макроса в элементе управления Form
Если используемый вами макрос встроен в элемент управления формой, вот как вы можете его отредактировать:
- Щелкните правой кнопкой мыши на кнопке управления формой.
- Нажмите Назначить макрос (Assign Macro...) из контекстного меню.
Назначение макроса приведет вас к диалоговому окну макроса. Здесь вы можете нажать кнопку Редактировать напрямую, чтобы настроить код VBA, стоящий за макрокомандой. Здесь вам не нужно выбирать какой-либо макрос вручную. Назначить макрос автоматически выделяет макрос, связанный с элементом управления формой.
Выводы
Редактирование макросов для настройки их кода и обеспечения его работы в ваших проектах Excel - незаменимый навык, если вы хотите называть себя пользователем Excel экспертного уровня. Итак, попробуйте все вышеперечисленные методы в своей книге Excel, чтобы узнать несколько способов редактирования макроса.
Это также отличный способ изучить функции макросов на языке VBA, если вы изучаете Excel VBA.