Как вставить макрос в 2018 excel: Как вставить готовый макрос в рабочую книгу?
Содержание
Запуск макроса — Служба поддержки Майкрософт
Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel 2021 Excel 2021 для Mac Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Excel 2010 Excel 2007 Excel Starter 2010 Еще…Меньше
Существует несколько способов запуска макроса в Microsoft Excel. Макрос — это действие или набор действий, с помощью которых можно автоматизировать различные задачи. Макрос записывется на Visual Basic для приложений программирования. Макрос всегда можно запустить, нажав кнопку Макрос на вкладке Разработчик на ленте. В зависимости от того, как макрос назначен для запуска, его также можно запустить, нажав сочетание клавиш сочетание клавиш, нажав кнопку на панели быстрого доступа или в настраиваемой группе на ленте либо щелкнув объект, рисунок или элемент управления. Кроме того, макрос можно запускать автоматически при запуске книги.
Перед запуском макроса
Перед началом работы с макросами следует включить вкладку Разработчик.
-
Чтобы Windows, перейдите в меню Параметры > >Настроить ленту.
-
Для Macперейдите на Excel > параметры… >ленты & панели инструментов.
-
Затем в разделе Настройка ленты в разделе Основныевкладки, в разделе Разработчик, нажмите кнопку ОК.
-
Откройте книгу, содержащую нужный макрос.
-
В поле Имя макроса выберите макрос, который вы хотите запустить, и нажмите кнопку Выполнить.
-
У вас также есть другие варианты:
-
Параметры: добавление сочетания клавиш или описания макроса. -
Шаг. Откроется Visual Basic редактора в первой строке макроса.Нажатие F8 позволит вам по одной строке пролиться между кодами макроса.
-
Изменить. Откроется редактор Visual Basic и вы сможете при необходимости изменить код макроса. После внесения изменений можно нажать F5, чтобы запустить макрос из редактора.
-
org/ListItem»>
На вкладке Разработчик в группе Код нажмите кнопку Макросы.
Вы можете добавить сочетание клавиш в макрос при его записи, а также добавить его к существующему макросу:
-
На вкладке Разработчик в группе Код нажмите кнопку Макросы.
-
Нажмите кнопку Параметры.
Откроется диалоговое окно Параметры макроса.
-
В поле Сочетания клавиш введите любую букву в нижнем или верхнем регистре, которую вы хотите использовать с сочетаниями клавиш.
Примечания:
-
Для Windowsклавиша для букв в нижнем регистре — CTRL+letter. Для букв верхнего регистра это CTRL+SHIFT+Letter.
Для Macдля букв в нижнем регистре есть клавиши OPTION+COMMAND+LETTER,но клавиши CTRL+letter также будут работать. Для букв верхнего регистра это CTRL+SHIFT+Letter.
-
-
Будьте внимательны при назначении ярлыков, так как они будут переопределять все эквивалентные стандартные Excel, пока открыта книга с макросом. Например, если назначить макрос CTRL+Z,вы потеряете возможность отменить. В связи с этим обычно лучше использовать клавиши CTRL+SHIFT+БУКВА С верхнего регистра, например CTRL+SHIFT+Z, для которых в Excel нет эквивалентных Excel.
-
Введите описание макроса в поле Описание.
-
Нажмите кнопку ОК, чтобы сохранить изменения, а затем — кнопку Отмена, чтобы закрыть диалоговое окно Макрос.
org/ListItem»>
В поле Имя макроса выберите макрос, который нужно назначить сочетанием клавиш.
Список сочетаний клавиш CTRL, которые уже назначены в Excel, см. в статье Excel сочетания клавиш и клавиши для работы с функцией.
Чтобы запустить макрос нажатием кнопки на панели быстрого доступа, сначала необходимо добавить соответствующую кнопку на панель. Для этого см. назначение макроса кнопке.
Вы можете создать пользовательскую группу, которая появится на вкладке ленты, а затем назначить макрос кнопке в этой группе. Например, можно добавить настраиваемую группу «Мои макросы» на вкладку Разработчик, а затем добавить в новую группу макрос (который отображается как кнопка). Для этого см. назначение макроса кнопке.
Запуск макроса путем щелчка области графического объекта
Вы можете создать хот-спот на графическом элементе, который пользователи могут щелкнуть, чтобы запустить макрос.
-
На компьютере вставьте графический объект, например рисунок, или нарисуйте фигуру. Распространенный сценарий — нарисовать фигуру Скруглённый прямоугольник и отформатировали ее так, чтобы она выглядела как кнопка.
Чтобы узнать о вставке графического объекта, см. добавление, изменение и удаление фигур.
-
Щелкните правой кнопкой мыши созданный хот-спот и выберите пункт Назначить макрос.
-
Чтобы назначить существующий макрос графическому объекту, дважды щелкните макрос или введите его имя в поле Имя макроса.
-
Чтобы записать новый макрос для назначения выбранному графическому объекту, нажмите кнопку Запись ,в диалоговом окне Запись макроса введите имя макроса и нажмите кнопку ОК, чтобы начать запись макроса. Завершив запись макроса, нажмите кнопку Остановить на вкладке Разработчик в группе Код.
Совет: Вы также можете нажать в левой части панели состояния.
-
Нажмите кнопку ОК.
org/ListItem»>
Выполните одно из указанных ниже действий.
org/ListItem»>
Чтобы изменить существующий макрос, щелкните его имя в поле Имя макроса и выберите изменить.
На вкладке Разработчик нажмите кнопку Visual Basic, чтобы запустить редактор Visual Basic(VBE). Перейдите Project проводнике, чтобы найти модуль, содержащий макрос, который вы хотите запустить, и откройте его. Все макрос в этом модуле будут перечислены в области справа. Выберите макрос, который вы хотите запустить, разместив курсор в любом месте макроса и нажимая F5или выбрав в меню пункт Выполнить > Макрос.
Создайте Workbook_Open события.
В следующем примере событие Open используется для запуска макроса при открытии книги.
-
Откройте или создайте книгу, в которую нужно добавить макрос.
-
На вкладке Разработчик в группе Код нажмите кнопку Visual Basic.
-
В окне Project проводника щелкните правой кнопкой мыши объект ThisWorkbook и выберите просмотр кода.
Совет: Если окно Project проводника не отображается, в меню Вид выберите пункт Project проводник.
-
В списке Объект над окном Код выберите книга.
При этом автоматически создается пустая процедура для события Open, например:
Private Sub Workbook_Open()
End Sub
-
Добавьте в процедуру следующие строки кода:
Private Sub Workbook_Open()Листы даты
MsgBox(«Лист1»).
Диапазон(«A1»). Value = Date
End Sub -
Переключитесь на приложение Excel и сохраните данную книгу как книгу с поддержкой макросов (.XLSM).
-
Закройте и снова откройте книгу. При повторном запуске книги Excel выполняется процедура Workbook_Open, в которой в окне сообщения отображается сегодняшняя дата.
-
В окне сообщения нажмите кнопку ОК.
Примечание: Ячейка A1 на листе «Лист1» также содержит дату в результате Workbook_Open процедуры.
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.
К началу страницы
См. также
Автоматический запуск макроса при открытии книги
Автоматизация задач с помощью средства записи макросов — Excel
Запись макроса для открытия определенных книг при запуске Excel
Создание и сохранение всех макросов в одной книге
Сохранение макроса
Как в Excel вставить кнопку для запуска макроса
24. 04.2018
Автор: Андрей Киреев
1 звезда2 звезды3 звезды4 звезды5 звезд
Как в Excel вставить кнопку для запуска макроса
5
5
1
1
Благодаря вставке кнопки в Excel можно удобно запускать макросы одним кликом мыши. CHIP расскажет, как это сделать за пару кликов.
Для этого вам понадобится вкладка «Разработчик», которую необходимо сначала сделать видимой (если она еще недоступна).
Щелкните на вкладке «Файл» в левом верхнем углу и выберите пункт «Параметры Excel». В левом столбце выберите пункт «Настройка» и в правой части окна нажмите на список «Выбрать команду из» и активируйте опцию «Вкладка Разработчик».
Теперь перед вами список кнопок, которые вы можете разместить на Панели быстрого запуска. Выберите из него «Вставить элементы управления».
После закрытия окна щелчком на кнопке «ОК» указанная кнопка появится на панели быстрого запуска.
Теперь, чтобы вставить в таблицы различные кнопки, а также списки, нажмите на вышеуказанную кнопку «Элементы управления» и выберите в открывшейся панели нужный вид элемента.
Щелкните мышкой в том месте листа, где необходимо расположить кнопку, после чего откроется диалоговое окно. В нем вы можете записать новый макрос или назначить существующий макрос. После щелчка на кнопке «ОК» будет создана кнопка. Теперь вы можете переместить ее, изменить размер, а также (используя правую кнопку мыши) переименовать и редактировать свойства.
Читайте также:
- Как в Excel установить «галочки» напротив завершенных записей
- Как в Excel визуально «оживить» таблицу
Фото: Компании-производители
Теги
excel
Автор
Андрей Киреев
Была ли статья интересна?
Поделиться ссылкой
Нажимая на кнопку «Подписаться»,
Вы даете согласие на обработку персональных данных
Рекомендуем
Обзор смартфона HONOR Magic Vs: все складывается, как надо
Что взять на дачу: 7 беспроводных гаджетов для отдыха и работы
Как выбрать SSD для ноутбука: подробный гайд
10 лучших мощных вертикальный пылесосов: рейтинг 2023
Что такое спидран или как пройти Atomic Heart за 6 минут?
Лучшие игровые ноутбуки: что выбрать в 2023 году
Какой Айфон лучше купить в 2023 году: выбираем между iPhone 12, iPhone 13, iPhone 14 и iPhone SE
6 лучших детских электросамокатов, от которых ребенок будет в восторге
Обзор необычных TWS-наушников Haylou PurFree Buds для спортсменов
Реклама на CHIP
Контакты
Как включать и отключать макросы в Excel
В статье рассматривается, как включать макросы в Excel, объясняются основы безопасности макросов и показано, как настроить параметры безопасности для безопасного запуска кодов VBA.
Как почти любую технологию, макросы можно использовать как во благо, так и во зло. Поэтому в Microsoft Excel все макросы по умолчанию отключены. В этом руководстве рассматриваются различные способы включения макросов в Excel и объясняются связанные с этим потенциальные риски.
Безопасность макросов в Excel
Прежде чем включать макросы на листах, важно понять, насколько они могут быть опасны.
Хотя коды VBA очень эффективны для автоматизации сложных и повторяющихся задач, они представляют собой значительный источник риска с точки зрения безопасности. Вредоносный макрос, который вы запускаете непреднамеренно, может повредить или полностью удалить файлы на вашем жестком диске, испортить ваши данные и даже повредить вашу установку Microsoft Office. По этой причине в Excel по умолчанию отключены все макросы с уведомлением.
Как избежать этих опасностей? Просто следуйте одному простому правилу: включайте только безопасные макросы — те, которые вы написали или записали сами, макросы из надежных источников и коды VBA, которые вы просмотрели и полностью поняли.
Как включить макросы для отдельных книг
Есть два способа включить макросы для определенного файла: непосредственно из книги и через представление Backstage.
Включить макросы через панель предупреждений безопасности
При настройках макросов по умолчанию при первом открытии книги, содержащей макросы, в верхней части листа прямо под лентой появляется желтая панель предупреждения о безопасности:
Если редактор Visual Basic открыт во время открытия файла с макросами, будет отображаться уведомление о безопасности Microsoft Excel:
Если вы доверяете источнику файла и знаете, что все макросы защищены, нажмите кнопку Включить содержимое или Включить макросы . Это включит макросы и сделает файл доверенным документом . В следующий раз, когда вы откроете книгу, предупреждение системы безопасности не появится.
Если источник файла неизвестен и вы не хотите включать макросы, вы можете нажать кнопку «X», чтобы закрыть предупреждение системы безопасности. Предупреждение исчезнет, но макросы останутся отключенными. Любая попытка запустить макрос приведет к следующему сообщению.
Если вы случайно отключили макросы, просто снова откройте книгу и нажмите кнопку Включить содержимое на панели предупреждений.
Включить макросы в представлении Backstage
Другой способ включить макросы для конкретной книги — через представление Office Backstage. Вот как:
- Щелкните вкладку File , а затем щелкните Info в левом меню.
- В области Security Warning нажмите Включить содержимое > Включить все содержимое .
Как и в предыдущем методе, ваша книга станет доверенным документом.
Что следует знать о надежных документах в Excel
Включение макросов через панель сообщений или представление Backstage делает файл доверенным документом. Однако некоторые файлы Excel нельзя сделать доверенными документами. Например, файлы открываются из небезопасного места, такого как временная папка, или если системный администратор настроил политику безопасности в вашей организации на отключение всех макросов без уведомления. В таких случаях макросы включаются только один раз. При следующем открытии файла Excel предложит вам снова включить содержимое. Чтобы избежать этого, вы можете изменить настройки своего центра управления безопасностью или сохранить файл в надежном месте.
После того, как конкретная книга станет доверенным документом, ее невозможно будет отменить. Вы можете только очистить список надежных документов. Для этого сделайте следующее:
- Нажмите Файл > Опции .
- С левой стороны выберите Центр управления безопасностью , а затем щелкните Параметры центра управления безопасностью .
- В диалоговом окне Trust Center выберите слева Trusted Documents .
- Нажмите Очистите и нажмите OK .
Это сделает все ранее доверенные файлы ненадежными. Когда вы откроете такой файл, появится предупреждение системы безопасности.
Совет. Если вы не хотите делать какие-либо документы доверенными, установите флажок Отключить доверенные документы . Вы по-прежнему сможете включать макросы при открытии книги, но только для текущего сеанса.
Как включить макросы для одной сессии
В некоторых ситуациях имеет смысл включать макросы только один раз. Например, если вы получили файл Excel с кодом VBA, который хотите изучить, но не хотите делать этот файл доверенным документом.
Следующие инструкции помогут вам включить макросы на время, пока файл открыт:
- Щелкните вкладку File > Info .
- В области Предупреждение безопасности щелкните Включить содержимое > Дополнительные параметры .
- В диалоговом окне Параметры безопасности Microsoft Office выберите Включить содержимое для этого сеанса и нажмите OK .
Однократно включает макросы. Когда вы закроете книгу, а затем снова откроете ее, предупреждение появится снова.
Как включить макросы во всех книгах через Центр управления безопасностью
Microsoft Excel определяет, разрешать или запрещать выполнение кодов VBA, на основе параметра макроса, выбранного в Trust Center, , где вы настраиваете все параметры безопасности для Excel.
Чтобы включить макросы во всех книгах Excel по умолчанию, вам нужно сделать следующее:
- Перейдите на вкладку Файл , а затем щелкните Параметры в самом низу левой панели.
- На левой панели выберите Центр управления безопасностью , а затем щелкните Настройки центра управления безопасностью… .
- В диалоговом окне Центр управления безопасностью нажмите Параметры макросов слева, выберите Включить все макросы и нажмите OK .
Примечания:
- Опция, которую вы установили через Центр управления безопасностью, становится новой параметр макроса по умолчанию и применяется глобально ко всем вашим файлам Excel.
Если вы хотите включить макросы только для определенных книг, вместо этого сохраните их в надежном расположении.
- Включение всех макросов во всех книгах делает ваш компьютер уязвимым для потенциально опасных кодов.
Объяснение настроек макроса Excel
Ниже мы кратко объясним все настройки макросов в Центре управления безопасностью, чтобы помочь вам принять обоснованное решение:
- Отключить все макросы без уведомления — все макросы отключены; предупреждение не появится. Вы не сможете запускать никакие макросы, кроме тех, которые хранятся в надежных местах.
- Отключить все макросы с уведомлением (по умолчанию) — макросы отключены, но вы можете включить их в каждом конкретном случае.
- Отключить все макросы, кроме макросов с цифровой подписью — неподписанные макросы отключаются с уведомлениями. Макросы, подписанные в цифровой форме специальным сертификатом доверенного издателя, разрешены для запуска.
Если вы не доверяете издателю, Excel предложит вам доверять издателю и включить макрос.
- Включить все макросы (не рекомендуется) — разрешен запуск всех макросов, включая потенциально вредоносные коды.
- Доверенный доступ к объектной модели проекта VBA — этот параметр управляет программным доступом к объектной модели Visual Basic для приложений. По умолчанию она отключена, чтобы неавторизованные программы не могли изменять ваши макросы или создавать самовоспроизводящиеся вредоносные коды.
При изменении настроек центра управления безопасностью помните, что они применяются только к Excel, а не ко всем программам Office.
Включить макросы на постоянной основе в надежном расположении
Вместо того, чтобы манипулировать глобальными параметрами макроса, вы можете настроить Excel так, чтобы он доверял определенным расположениям на вашем компьютере или в локальной сети. Любой файл Excel в надежном расположении открывается с включенными макросами и без предупреждений безопасности, даже если в настройках центра управления безопасностью выбран параметр Отключить все макросы без уведомления . Это позволяет запускать макросы в определенных книгах, когда все остальные макросы Excel отключены!
Пример таких файлов в личной книге макросов — все коды VBA в этой книге доступны для использования при каждом запуске Excel, независимо от настроек макроса.
Чтобы просмотреть текущие надежные расположения или добавить новое, выполните следующие действия:
- Нажмите Файл > Опции .
- На левой панели выберите Центр управления безопасностью , а затем щелкните Настройки центра управления безопасностью… .
- В 9В диалоговом окне 0003 Trust Center выберите Trusted Locations слева. Вы увидите список надежных местоположений по умолчанию. Эти расположения важны для корректной работы надстроек Excel, макросов и шаблонов и не должны изменяться. Технически вы можете сохранить свою книгу в одном из мест Excel по умолчанию, но лучше создать свое собственное.
- Чтобы настроить надежное местоположение, нажмите Добавить новое местоположение… .
- В В диалоговом окне «Надежные расположения Microsoft Office » выполните следующие действия.
- Нажмите кнопку Browse , чтобы перейти к папке, которую вы хотите сделать надежным расположением.
- Если вы хотите, чтобы какая-либо вложенная папка в выбранной папке также была доверенной, установите флажок Подпапки в этом расположении также являются доверенными .
- Введите краткое уведомление в поле Описание (это может помочь вам управлять несколькими местоположениями) или оставьте это поле пустым.
- Нажмите ОК .
- Дважды щелкните OK , чтобы закрыть оставшиеся диалоговые окна.
Готово! Теперь вы можете поместить свою книгу с макросами в собственное надежное место и не беспокоиться о настройках безопасности Excel.
Советы и примечания:
- Пожалуйста, будьте очень внимательны при выборе надежного места. Поскольку Excel автоматически активирует все макросы во всех книгах, которые хранятся в надежных местах, они становятся своего рода лазейками в вашей системе безопасности, уязвимыми для макровирусов и хакерских атак.
Никогда не делайте никакую временную папку доверенным источником. Также будьте осторожны с Documents , лучше создайте подпапку и назначьте ее как надежное расположение.
- Если вы по ошибке добавили определенную папку в список надежных расположений, выберите ее и нажмите кнопку Удалить .
Как программно включить макросы с помощью VBA
На форумах Excel многие спрашивают, можно ли программно включить макросы при открытии книги и отключить их перед выходом. Немедленный ответ: «Нет, это невозможно». Поскольку безопасность макросов имеет решающее значение для безопасности Excel, Microsoft спроектировала любой код VBA таким образом, чтобы он запускался только щелчком пользователя.
Однако, когда Microsoft закрывает дверь, пользователь открывает окно 🙂 В качестве обходного пути кто-то предложил способ заставить пользователя включать макросы с помощью своего рода «заставки» или «инструкции». Общая идея такова:
Вы пишете код, который делает все рабочие листы, кроме одного, очень скрытыми (xlSheetVeryHidden). Видимый лист (экран-заставка) говорит что-то вроде «Пожалуйста, включите макросы и повторно откройте файл» или предоставляет более подробные инструкции.
Если макросы отключены, пользователь может видеть только рабочий лист «Экран-заставка»; все остальные листы очень скрыты.
Если макросы включены, код показывает все листы, а затем снова делает их полностью скрытыми при закрытии книги.
Как отключить макросы в Excel
Как уже упоминалось, по умолчанию Excel отключает макросы с уведомлением и позволяет пользователям включать их вручную, если они этого хотят. Если вы хотите отключить все макросы молча, без какого-либо уведомления, выберите соответствующий вариант (первый) в Центре управления безопасностью.
- В Excel щелкните вкладку Файл > Параметры .
- На левой панели выберите Центр управления безопасностью , а затем щелкните Настройки центра управления безопасностью… .
- В левом меню выберите Настройки макросов , выберите Отключить все макросы без уведомления и нажмите OK .
Вот как вы можете включать и отключать макросы в Excel. Я благодарю вас за чтение и надеюсь увидеть вас в нашем блоге на следующей неделе!
Вас также может заинтересовать
18 ярлыков макросов VBA для Excel на 2018 год
Итог: Изучите 18 советов и ярлыков, чтобы сэкономить время при написании макросов VBA для Excel или других приложений Office.
Уровень навыков: Средний
18 Советов и ярлыков для макросов VBA
В начале прошлого года я написал популярный пост о 17 ярлыках Excel на 2017 год. В этом году я решил продолжить традицию и написать пост с советами. & ярлыки, которые сэкономят ваше время при написании макросов VBA.
Вот некоторые из моих любимых советов, а также несколько любимых советов из блога, канала YouTube и моего курса VBA Pro. Если вы еще не знакомы с VBA, но всегда хотели научиться, посмотрите мой предстоящий веб-семинар «The Modern Excel Power Tools».
Ознакомьтесь с нашим новым списком сочетаний клавиш VBA с более чем 25 сочетаниями клавиш для версий Excel для Windows и Mac.
Очевидно, что для VBA существует ТОННА ярлыков и советов. Поэтому, пожалуйста, оставьте комментарий внизу поста с вашими любимыми советами. Таким образом, мы все можем учиться друг у друга! 🙂
Скачать PDF
Вот версия статьи в формате PDF для печати.
Индекс страницы
- Alt+F11 для открытия редактора VB
- Храните свои макросы в личной книге макросов
- Ctrl+Пробел для автоматического завершения
- IntelliSense для рабочих листов
- Свободно используйте комментарии
- F8 для перехода через каждую строку кода
- Назначение макросов фигурам
- Автоматизируйте повторяющиеся задачи с помощью цикла For Next
- Использовать опцию Explicit
- Таблицы Excel (ListObjects)
- Получить код с помощью устройства записи макросов
- Немедленное окно
- Назначение сочетания клавиш макросу
- Проверить, выбран ли диапазон
- Ctrl + Y для удаления строки кода
- Ctrl + i для быстрой информации
- Ctrl+J открывает раскрывающийся список Intellisense
- Функции рабочего листа
#1 — Alt+F11 для открытия редактора VB
Редактор VB — это приложение, которое мы используем для написания макросов и создания пользовательских форм. Его можно открыть, нажав кнопку Visual Basic на вкладке «Разработчик» в Excel.
Сочетание клавиш для открытия редактора VB в любой версии Excel для Windows: Alt + F11 .
Ярлык в версии для Mac: Opt + F11 или Fn + Opt + F11 .
Если вы не видите вкладку «Разработчик» на ленте, щелкните изображение, чтобы узнать, как ее включить:
Клавиши Fn (функциональные) на ноутбуках
Если вы используете клавиатуру ноутбука, вам также может понадобиться нажмите и удерживайте Клавиша Fn перед нажатием F11 . Функциональные клавиши на ноутбуках обычно являются многоцелевыми, и для их активации требуется нажатие клавиши Fn ( F1 — F12 ).
Некоторые ноутбуки имеют функцию Fn Lock, которая делает функциональные клавиши первичными, что означает, что вам не нужно будет нажимать клавишу Fn при нажатии F1-F12.
Ознакомьтесь с моей статьей о лучших клавиатурах для сочетаний клавиш Excel, чтобы узнать больше.
#2 — Сохранение макросов в личной книге макросов
Персональная книга макросов (PMW) — отличное место для хранения часто используемых макросов. Эта книга открывается в фоновом режиме каждый раз, когда мы открываем Excel, что делает наши макросы легко доступными.
Мы также можем создавать собственные панели инструментов с кнопками для запуска наших макросов. Мне нравится думать о PMW как о нашем поясе инструментов Excel, который может сэкономить нам время при выполнении задач, которые мы выполняем каждый день.
Например, у меня есть статья с макросом, который создает список уникальных значений на новом чистом листе. Мы можем сохранить этот макрос в нашем PMW и назначить его кнопке на ленте или сочетанию клавиш, а затем запустить его в любое время в любой открытой книге.
Посмотрите мою бесплатную серию видеороликов о том, как создать личную книгу макросов, чтобы узнать больше. В этой серии также есть видео о том, как добавить макрос-кнопки на настраиваемую ленту.
#3 — Ctrl+Пробел для автоматического завершения
Это определенно одно из сочетаний клавиш, которые я чаще всего использую в VBA. Когда мы набираем код, Ctrl + Пробел открывает раскрывающееся меню Intellisense, содержащее список соответствующих объектов, свойств, методов, констант и переменных.
Чтобы использовать сочетание клавиш Ctrl + Пробел в редакторе VB:
- Начните вводить строку кода, например ActiveCell.
- После ввода первых нескольких букв нажмите Ctrl+Пробел
- Вы увидите список всех слов VBA, начинающихся с Act.
- Нажимайте стрелки вверх/вниз, чтобы выбрать слово
- Затем нажмите Tab или Enter, чтобы завершить слово.
Этот ярлык имеет два основных преимущества:
- Он экономит время, так как вам не нужно вводить длинные слова и имена переменных.
- Это предотвращает опечатки, потому что VBA дополняет слова за вас.
Эти преимущества могут значительно сэкономить время при отладке кода.
#4 — Intellisense для рабочих листов
Обычно мы также видим раскрывающееся меню Intellisense после ввода точки (.) в редакторе VB.
Однако иногда это не работает. Одним из распространенных случаев является свойство Worksheets.
Если ввести Worksheets("Sheet1").
, мы НЕ видим меню Intellisense. Это может разочаровать и заставить вас думать, что Intellisense не работает.
Причина, по которой это не работает, заключается в том, что свойство Worksheets может содержать ссылку на один или несколько листов. В зависимости от ссылки свойства и методы будут разными для каждого случая. Было бы здорово, если бы Intellisense все еще был достаточно умным, чтобы распознавать это, но это всего лишь одна из тех вещей, с которыми нам приходится жить…
Есть два способа обойти это и увидеть Intellisense для рабочих листов:
- Используйте кодовое имя рабочий лист, на который мы хотим сослаться.
Это мой предпочтительный метод для ссылки на рабочие листы, потому что код не сломается, если пользователь изменит имя листа.
- Сначала установите для рабочего листа объектную переменную Worksheets. Затем, когда мы вводим имя переменной, за которым следует точка (
ws.
), появится меню Intellisense.
#5 – Свободное использование комментариев
Мы можем добавлять комментарии к нашему коду, которые помогают объяснить, что делает каждый раздел кода.
Чтобы создать комментарий в VBA, введите апостроф в начале строки. Как только вы переместите текстовый курсор за пределы строки, текст станет зеленым.
Зеленый текст позволяет легко различать комментарии при чтении кода. VBA полностью игнорирует строки комментариев, и вы можете добавить столько, сколько захотите.
Комментирование вашего кода — довольно спорная тема. Некоторые разработчики считают, что правильно написанный код должен говорить сам за себя, и дополнительные комментарии добавлять не нужно. Я понимаю их точку зрения, но этот мне не подходит по двум причинам .
- Когда я возвращаюсь к своим собственным проектам месяцы/годы спустя, я не помню, что делает весь макрос. Комментарии похожи на заголовки в этом сообщении блога и позволяют легко просматривать макрос, чтобы найти нужный раздел. Они также быстро сообщают нам, что делает каждый раздел.
- Если вы собираетесь поделиться своим проектом VBA или в конечном итоге передать его кому-то другому для обслуживания, то им будет намного проще изучить ваш код, если вы добавите много комментариев. Я называю это «вежливым планированием своего наследия». 🙂
#6 — F8 для перехода по каждой строке кода
Комбинация клавиш для перехода по каждой строке кода — F8 . Эквивалент Mac для Step Into/Through: Cmd + Shift + I .
Это позволяет нам тестировать и отлаживать каждую строку кода в наших макросах. Мы также можем открыть Excel рядом с редактором VB (или на отдельном мониторе), чтобы увидеть действия, выполняемые в Excel по мере выполнения каждой строки.
Во многих случаях это может помочь вам быстро найти ошибку с помощью листа или ссылки на диапазон.
Чтобы использовать ярлык «Пошаговый вход/сквозь»:
- Щелкните внутри макроса, который хотите запустить. Вы можете щелкнуть любую строку кода. Макрос всегда будет начинаться сверху.
- Нажмите F8 .
- Имя макроса будет выделено желтым цветом.
- Нажмите F8 еще раз, чтобы запустить эту строку и выделить следующую строку.
- Продолжайте нажимать F8 для запуска каждой строки.
Важно отметить, что выделенная желтым цветом строка еще НЕ запущена. Он будет запущен, когда вы снова нажмете F8 .
Более подробно я расскажу об этом методе в моем предстоящем вебинаре «7 шагов к началу работы с макросами и VBA».
#7 — Назначение макросов фигурам
Элементы управления листа для кнопок, запускающих макросы, выглядят немного устаревшими. К счастью, мы также можем использовать любую фигуру в Excel для запуска макроса. Фигуры можно раскрашивать и форматировать, чтобы они больше походили на современные кнопки, которые можно найти в Интернете и мобильных приложениях.
Чтобы назначить макрос фигуре:
- Вставьте фигуру на рабочий лист и отформатируйте ее по своему вкусу. Обычно это прямоугольная или круглая форма, содержащая текст.
- Щелкните фигуру правой кнопкой мыши и выберите «Назначить макрос…».
- Выберите макрос из списка и нажмите OK. Макрос обычно хранится в той же книге, что и фигура.
- Нажмите на фигуру, выбрав ячейку на листе.
- При наведении на фигуру курсор изменится на указатель в виде руки. Щелчок по фигуре запустит макрос.
Я рекомендую, чтобы окно сообщения Да/Нет появлялось до фактического запуска макроса. Это предотвращает любые случайные нажатия кнопок. Посмотрите мое видео о добавлении окна сообщения Да/Нет в ваши макросы. Это часть моей серии видео о личной книге макросов.
№8. Автоматизация повторяющихся задач с помощью цикла For Next
Мы склонны снова и снова выполнять одни и те же задачи в Excel. Это могут быть такие задачи, как: применение форматирования к нескольким диапазонам/листам, создание списка листов, копирование данных в каждую книгу, настройка фильтров для каждой сводной таблицы и т. д.
Циклы — один из самых мощных инструментов в VBA, который позволяет нам для автоматизации этих задач. Цикл будет перебирать каждый элемент в коллекции (например, рабочие листы в рабочей книге или ячейки в диапазоне) и выполнять любой код, который вам нравится, для каждого элемента.
Существует несколько различных типов циклов, но наиболее распространенным является цикл For Next. Ознакомьтесь с моей подробной статьей о цикле For Next в VBA, чтобы узнать больше об этой обязательной технике кодирования.
В моем предстоящем веб-семинаре free «7 шагов к началу работы с макросами и VBA» я объясняю, как использовать цикл For Next Loop для вывода списка всех листов в любой книге. Это создает быстрое оглавление одним нажатием кнопки.
#9 — Использовать явный вариант
Это еще одна спорная тема, но я требую (вежливо прошу), чтобы все участники моего курса VBA Pro использовали Option Explicit.
Итак, что это такое и зачем?
Option Explicit требует от нас объявления всех переменных. Когда мы видим строки кода с операторами Dim в верхней части макроса, это объявление переменной.
По сути, мы говорим VBA создать переменную в памяти, которая будет использоваться позже во время выполнения кода. Затем мы можем установить значения или ссылки на объекты для этих переменных в макросе под оператором Dim.
ОСНОВНОЕ преимущество Option Explicit состоит в том, что он предотвращает опечатки и экономит время . Редактор VB выдаст ошибку компиляции: переменная не определена при попытке запустить код, если переменная в коде не объявлена. Он также подсветит переменную, чтобы вы могли объявить ее или исправить опечатку.
Если вы не включили Option Explicit и написали переменную с ошибкой, код все равно будет выполняться и может привести к ошибкам в результатах. Если ваш макрос длинный, поиск этих опечаток может занять ОЧЕНЬ много времени. Поверьте мне. Было ли это сделано!
Option Explicit предотвращает эти ошибки и помогает вам оставаться в здравом уме. 🙂
Чтобы включить Option Explicit на , просто введите слова Option Explicit в верхней части модуля кода. Вы также можете сделать так, чтобы редактор VB автоматически добавлял слова в новые модули кода, перейдя в «Инструменты»> «Параметры»> установите флажок «Требовать объявление переменной». Опция Explicit теперь будет отображаться вверху каждого НОВОГО модуля кода, который вы создаете.
#10 — Таблицы Excel (ListObjects)
Использование таблиц Excel в наших книгах дает множество преимуществ. Они экономят время благодаря форматированию данных, автозаполнению формул и прекрасно работают в качестве источника сводной таблицы.
Таблицы Excel также значительно упрощают написание кода VBA для динамических диапазонов данных. Это список или набор данных, в котором количество строк или столбцов постоянно меняется по мере получения новых/обновляемых данных.
Например, следующая строка кода ссылается на ячейки в диапазоне A2:A15.
Диапазон("A2:A10").Font.Bold = True
Это жестко заданная ссылка на диапазон. Если вы добавите новые данные внизу, вам придется вручную изменить код, чтобы включить новые строки.
Однако, если мы храним данные в таблице Excel и ссылаемся на столбец таблицы, нам не нужно об этом беспокоиться.
Следующая строка кода ссылается на тот же столбец.
Range("Table1[Date]").Font.Bold = True
Преимущество здесь в том, что код будет автоматически включать новые строки, добавленные в Таблицу . Нет необходимости в ручном обновлении или обслуживании кода.
Мы также можем ссылаться на таблицы Excel с помощью объекта, свойств и методов ListObjects в VBA.
ActiveSheet.ListObjects("Table57").ListColumns("Date").DataBodyRange.Font.Bold = True
Определенно есть некоторые преимущества использования ListObjects, когда дело доходит до изменения структуры таблицы (добавление/удаление строк/столбцов ) и свойства, а также просмотр таблицы. Дополнительные примеры см. в статье моего хорошего друга Криса Ньюмана о ListObjects в VBA.
#11 — Получение кода с помощью средства записи макросов
Средство записи макросов — это замечательная функция Excel и VBA. Он создает код VBA, когда мы выполняем действия в Excel .
Например, после включения записи макросов мы можем выполнять свою обычную работу в Excel, например писать формулы или копировать и вставлять данные. Средство записи макросов создаст весь код VBA для этих действий и сохранит его в модуле кода.
Это отличный инструмент, который можно использовать, когда мы только начинаем работать с макросами. Кроме того, это отличный инструмент для изучения и получения фрагментов кода. Объектная модель Excel — массивный , и (для меня) невозможно запомнить все ссылки на свойства, методы и объекты. Таким образом, средство записи макросов — отличный способ получить код для сводной таблицы, объекта списка, среза, формы или любого другого объекта, с которым вы не знакомы.
Запись макросов также имеет свои ограничения . Мы НЕ собираемся создавать код для циклов, операторов if, обработки ошибок, окон сообщений и т. д. Нам нужно научиться писать код для реализации этих более продвинутых методов, позволяющих полностью автоматизировать процессы и создавать приложения в Excel.
Ознакомьтесь с моим бесплатным предстоящим веб-семинаром «7 шагов для начала работы с макросами и VBA».
#12 – Немедленное окно
Немедленное окно в VB Editor позволяет нам запустить одну строку кода. Мы можем запустить действие (метод) над объектом или вернуть результат кода обратно в Immediate Window. Возможно, мы хотим определить, сколько рабочих листов в рабочей книге.
Введите «Worksheets.Count» и нажмите Enter. Результат отобразится в строке ниже.
Окно Immediate также является местом, в которое выводится метод Debug.Print.
Сочетание клавиш для открытия окна Immediate в редакторе VB: Ctrl + G
Ознакомьтесь с моей статьей 5 Uses for Immediate Window в VBA для более подробной информации.
#13 — Назначение сочетания клавиш для макроса
Мы также можем назначить сочетания клавиш для запуска часто используемых макросов. Я рекомендую хранить эти макросы в вашей личной книге макросов.
Чтобы назначить сочетание клавиш:
- Нажмите кнопку «Макросы» на вкладке «Разработчик» или «Вид» на ленте.
- Выберите файл, содержащий макрос, из раскрывающегося списка «Макросы в».
- Выберите макрос из списка.
- Нажмите кнопку «Опции…».
- Введите букву в поле «Горячая клавиша», которой вы хотите назначить макрос. Все ярлыки начинаются с Ctrl. Вы можете удерживать клавишу Shift при вводе буквы, чтобы создать сочетание клавиш Ctrl+Shift. Обычно это рекомендуется, поскольку для большинства комбинаций клавиш Ctrl+ уже есть специальные сочетания клавиш в Excel.
- Нажмите OK и закройте окно макросов.
- Теперь вы можете нажать комбинацию клавиш для запуска назначенного макроса.
#14 — Проверка того, что выбран диапазон
Иногда перед запуском макроса необходимо убедиться, что у пользователя выбран диапазон (ячейки). Если у них выбрана фигура (диаграмма, срез и т. д.), это может вызвать ошибки в вашем коде.
Например, у меня есть макрос, который удаляет пустые строки в выбранном диапазоне. Чтобы этот макрос работал правильно, пользователю необходимо сначала выбрать диапазон ячеек.
Вот код, который проверяет, выбран ли диапазон.
'Проверить, выбран ли диапазон Если ТипИмя(Выбор) <> "Диапазон" Тогда MsgBox "Сначала выберите диапазон.", vbOKOnly, "Выберите диапазон" Выйти из подпрограммы End If
Функция TypeName возвращает тип данных или имя объекта для заданной переменной или объекта. В этом случае он оценивает Selection и возвращает тип выбранного объекта. Если это не (<>) диапазон, то оператор If верен.
Обычно вы хотите поместить это в начало макроса. Если диапазон НЕ выбран, появится окно сообщения (всплывающее окно), в котором пользователю предлагается выбрать диапазон. Строка Exit Sub завершит макрос.
#15 — Ctrl + Y для удаления строки кода
В редакторе VB Ctrl + Y удаляет строку кода , в которой находится текстовый курсор.
Это создает много путаница , так как Ctrl+Y обычно используется для команды Redo почти во всех других приложениях, включая Excel!
Если вы посмотрите на меню «Правка» в редакторе VB, вы увидите, что для «Повторить» нет специального ярлыка. Мы можем использовать Alt , E , R в качестве альтернативного ярлыка для Redo.
Это всего лишь одна из странных особенностей VBA, о которых полезно знать.
#16 — Ctrl + i для быстрой информации
Это еще одна отличная комбинация клавиш, которую нужно знать. Контр + i отображает всплывающую подсказку, которую вы видите при написании или выполнении кода. Это позволяет вам видеть все параметры в свойстве, методе или функции.
Чтобы использовать сочетание клавиш Ctrl+i:
- Поместите текстовый курсор в слово, для которого вы хотите отобразить информационную подсказку.
- Нажмите Ctrl + i .
- Появится подсказка.
- Нажмите Escape, чтобы закрыть его или переместить курсор.
Если у вас есть переменная, выбранная в строке, и вы хотите увидеть информацию о параметре вместо значения/типа данных переменной, нажмите Ctrl + Shift + i для просмотра информации о параметрах.
#17 — Ctrl+J Открывает раскрывающийся список Intellisense
Ярлык Ctrl + J открывает раскрывающееся меню Intellisense, в котором отображается список объектов, свойств, методов, переменных и т. д.
Обычно я используйте это, когда я набрал частичную строку кода и закончил ее точкой, например Range(«A1»).
Затем я хочу вернуться к этой строке и увидеть раскрывающийся список Intellisense. Нажатие Ctrl + J открывает меню. В противном случае вам придется удалить точку и ввести ее снова.
Мы также можем использовать Ctrl+J, чтобы выбрать другую переменную из списка. Если вы где-то использовали неправильное имя переменной или вам нужно его изменить, нажмите Ctrl+J, чтобы увидеть список имен переменных. Если вы добавляете префикс к имени вашей переменной (он же венгерская нотация), то другие переменные должны быть довольно близко в этом списке.
#18 — Функции рабочего листа
Знаете ли вы, что мы можем использовать функции рабочего листа в VBA? Это функции, которые мы используем в формулах Excel, например: vlookup, match, countif, max, min и т. д.
Тип WorksheetFunction. в макросе, чтобы увидеть список всех функций Excel, доступных в VBA.
На мой взгляд, это лучшее из обоих миров. Мы можем использовать мощь функций Excel в нашем коде VBA.
Подсказка для функции показывает количество аргументов, но НЕ показывает имена аргументов. Поэтому нам обычно нужно ввести формулу в Excel, чтобы определить, что представляет собой каждый аргумент (если вы их не запомнили).
Функция рабочего листа, которую я чаще всего использую в VBA, — Совпадение . Мы можем использовать Match для поиска значения и возврата номера строки или столбца ячейки, содержащей совпадающее значение. Иногда это может быть проще, чем использовать метод Range.Find. Ознакомьтесь с моей статьей и видео о том, как найти последнюю использованную ячейку на листе, чтобы узнать больше о методе Range.Find.
Скачать PDF
Вот версия статьи в формате PDF для печати.
18-Excel-VBA-Macro-Shortcuts-for-2018-Excel-Campus.pdfЗагрузить
Какой ваш любимый ярлык или совет для VBA?
Надеюсь, вам понравился этот список и вы узнали что-то новое. Возможно, это вдохновило вас узнать больше о макросах и VBA. Если это так, пожалуйста, ознакомьтесь с моим предстоящим веб-семинаром на тему «The Modern Excel Blueprint».
Я также хотел бы знать, какой ваш любимый совет или ярлык, который не был включен в эту статью. Пожалуйста, оставьте комментарий ниже и поделитесь своим. Нет правильных или неправильных ответов, и это будет отличный способ учиться у всех.