Excel для Microsoft 365 Word для Microsoft 365 Outlook для Microsoft 365 PowerPoint для Microsoft 365 Access для Microsoft 365 Excel 2021 Word 2021 Outlook 2021 PowerPoint 2021 Access 2021 Visio профессиональный 2021 Visio стандартный 2021 Excel 2019 Word 2019 Outlook 2019 PowerPoint 2019 Access 2019 Visio профессиональный 2019 Visio стандартный 2019 Excel 2016 Word 2016 Outlook 2016 PowerPoint 2016 Access 2016 Visio профессиональный 2016 Visio стандартный 2016 Excel 2013 Word 2013 Outlook 2013 PowerPoint 2013 Access 2013 Visio профессиональный 2013 Visio 2013 Excel 2010 Word 2010 Outlook 2010 PowerPoint 2010 Access 2010 Visio премиум 2010 Visio 2010 Visio стандартный 2010 Excel Starter 2010 Еще…Меньше
Макрос — это ряд команд, используемых для автоматизации повторяемой задачи, который может выполняться при выполнении задачи. Макросы позволяют автоматизировать часто используемые задачи, чтобы сэкономить время на нажатии клавиш и действий мыши.
Однако некоторые макросы могут представлять угрозу безопасности. Макросы часто используются злоумышленниками для тихой установки вредоносных программ, таких как вирус, на компьютере или в сети организации.
Предупреждение: Никогда не включайте макросы в файле Microsoft 365, если вы не знаете, что делают эти макросы. Непредвиденные макросы могут представлять значительную угрозу безопасности. Для просмотра или изменения файла не нужно включать макросы; только в том случае, если вам нужны функциональные возможности, предоставляемые макросом. Дополнительные сведения см. в статье Защита от макровирусов.
Изменение параметров макросов в центре управления безопасностью
Параметры макросов доступны в центре управления безопасностью. Однако если устройство управляется вашей работой или учебным заведением, системный администратор может запретить кому-либо изменять параметры.
Важно: При изменении параметров макросов в центре управления безопасностью они изменяются только для программы Microsoft 365, которую вы сейчас используете. Параметры макросов не изменяются для всех программ Microsoft 365.
-
Откройте вкладку Файл.
-
Нажмите кнопку Параметры.
-
Затем выберите пункты Центр управления безопасностью и Параметры центра управления безопасностью.
-
В центре управления безопасностью щелкните элемент Параметры макросов.
-
Выберите нужный вариант, а затем нажмите кнопку ОК.
Примечание: Варианты немного отличаются в Excel, мы будем называть их, как мы идем.
-
Отключить все макросы без уведомления. Этот параметр отключает макросы и связанные с ними оповещения безопасности.
В Excel этот параметр — Отключить макросы VBA без уведомления и применяется только к макросам VBA.
-
Отключить все макросы с уведомлением. Этот параметр отключает макросы без отключения оповещений системы безопасности, которые будут появляться при необходимости. Так вы можете включать макросы, когда это требуется.
В Excel этот параметр — Отключить макросы VBA с уведомлением , и он применяется только к макросам VBA.
-
Отключить все макросы кроме макросов с цифровой подписью Макросы отключены, а при наличии неподписанных макросов отображаются оповещения системы безопасности. Однако если макрос имеет цифровую подпись доверенного издателя, макрос просто выполняется. Если макрос подписан издателем, которому вы еще не доверяли, вы получите возможность включить подписанный макрос и доверять издателю.
В Excel этот параметр — Отключить макросы VBA, кроме макросов с цифровой подписью , и он применяется только к макросам VBA.
-
Включить все макросы (не рекомендуется, может выполняться потенциально опасный код) Все макросы выполняются без подтверждения. Этот параметр делает компьютер уязвимым для вредоносного кода.
В Excel этот параметр — Включить макросы VBA (не рекомендуется, может выполняться потенциально опасный код) и применяется только к макросам VBA.
-
Excel также установлен флажок Включить макросыExcel 4.0 при включении макросов VBA. Если установить этот флажок, все приведенные выше параметры для макросов VBA также будут применяться к макросам Excel 4.0 (XLM).
Если этот флажок не установлен, макросы XLM отключены без уведомления.
-
Доверять доступ к объектной модели проектов VBA Запретить или разрешить программный доступ к объектной модели Visual Basic для приложений (VBA) из клиента автоматизации. Этот параметр безопасности предназначен для кода, написанного для автоматизации программы Microsoft 365 и управления средой VBA и объектной моделью. Это параметр для отдельных пользователей и приложений, который по умолчанию запрещает доступ, препятствуя созданию несанкционированных программ вредоносных самореплицируемых кодов. Чтобы клиенты автоматизации получили доступ к объектной модели VBA, пользователь, выполняя код, должен предоставить доступ. Чтобы включить доступ, выберите поле проверка.
Примечание: В Microsoft Publisher и Microsoft Access параметр Доверять доступ к объектной модели проектов VBA отсутствует.
Сведения о создании макросов см. в статье Краткое руководство. Создание макроса.
Сведения об использовании макросов на компьютере под управлением Windows S см. в статье Блокировка подозрительных макросов в Office на Windows 10 S.
См. также
Изменение параметров безопасности макросов в 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, чтобы запустить макрос из редактора.
-
Вы можете добавить сочетание клавиш в макрос при его записи, а также добавить его к существующему макросу:
-
На вкладке Разработчик в группе Код нажмите кнопку Макросы.
-
В поле Имя макроса выберите макрос, который нужно назначить сочетанием клавиш.
-
Нажмите кнопку Параметры.
Откроется диалоговое окно Параметры макроса.
-
В поле Сочетания клавиш введите любую букву в нижнем или верхнем регистре, которую вы хотите использовать с сочетаниями клавиш.
Примечания:
-
Для 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.
Список сочетаний клавиш CTRL, которые уже назначены в Excel, см. в статье Excel сочетания клавиш и клавиши для работы с функцией.
-
-
Введите описание макроса в поле Описание.
-
Нажмите кнопку ОК, чтобы сохранить изменения, а затем — кнопку Отмена, чтобы закрыть диалоговое окно Макрос.
Чтобы запустить макрос нажатием кнопки на панели быстрого доступа, сначала необходимо добавить соответствующую кнопку на панель. Для этого см. назначение макроса кнопке.
Вы можете создать пользовательскую группу, которая появится на вкладке ленты, а затем назначить макрос кнопке в этой группе. Например, можно добавить настраиваемую группу «Мои макросы» на вкладку Разработчик, а затем добавить в новую группу макрос (который отображается как кнопка). Для этого см. назначение макроса кнопке.
Запуск макроса путем щелчка области графического объекта
Вы можете создать хот-спот на графическом элементе, который пользователи могут щелкнуть, чтобы запустить макрос.
-
На компьютере вставьте графический объект, например рисунок, или нарисуйте фигуру. Распространенный сценарий — нарисовать фигуру Скруглённый прямоугольник и отформатировали ее так, чтобы она выглядела как кнопка.
Чтобы узнать о вставке графического объекта, см. добавление, изменение и удаление фигур.
-
Щелкните правой кнопкой мыши созданный хот-спот и выберите пункт Назначить макрос.
-
Выполните одно из указанных ниже действий.
-
Чтобы назначить существующий макрос графическому объекту, дважды щелкните макрос или введите его имя в поле Имя макроса.
-
Чтобы записать новый макрос для назначения выбранному графическому объекту, нажмите кнопку Запись ,в диалоговом окне Запись макроса введите имя макроса и нажмите кнопку ОК, чтобы начать запись макроса. Завершив запись макроса, нажмите кнопку Остановить на вкладке Разработчик в группе Код.
Совет: Вы также можете нажать в левой части панели состояния.
-
Чтобы изменить существующий макрос, щелкните его имя в поле Имя макроса и выберите изменить.
-
-
Нажмите кнопку ОК.
На вкладке Разработчик нажмите кнопку 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
Создание и сохранение всех макросов в одной книге
Сохранение макроса
Нужна дополнительная помощь?
A macro is a set of commands that you can use to automate a repetitive task and run whenever you need to. This article discusses the risks associated with working with macros, as well as how to enable or disable macros in the Trust Center. Using macros in Excel reduces human error and saves time by automating repetitive tasks.
Macro security in Excel
Before you enable macros in your worksheets, you should understand how dangerous they can be.
Though VBA (Visual Basic for Applications) codes are extremely effective at automating complex and repetitive tasks, they pose a significant security risk. Unintentionally running a malicious macro can damage or completely delete files on your hard drive, corrupt your data, and even corrupt your Microsoft Office installation. As a result, the default setting in Excel is to disable all macros with notification.
How can these dangers be avoided? Simply follow one simple rule: enable only safe macros – those you’ve written or recorded yourself, macros from reliable sources, and VBA codes you’ve thoroughly reviewed and comprehended.
How to Enable macros for individual workbooks?
Macros can be enabled for a specific file in two ways: directly from the workbook and via the Backstage view.
1. Enable macros directly via security notice:
When you first open a workbook containing macros with the default macro settings, the yellow security warning bar appears at the top of the sheet, right under the ribbon:
The Microsoft Excel Security Notice will be displayed if the Visual Basic Editor is open at the time you open the file with macros:
If you are confident in the file’s origin and that all macros are safe, click the Enable Content or Enable Macros button. This activates the macros and marks the file as a trusted document.
2. Turn on macros in Backstage view:
The Office Backstage view is another way to enable macros for a specific workbook. Here’s how to do it:
- Click the File tab, then Info from the left menu.
- Click Enable Content > Enable All Content, in the Security Warning area.
Your workbook, like the previous method, will become a trusted document.
How to Enable macros for one session?
In some cases, enabling macros for a single instance makes sense. For example, suppose you received an Excel file containing VBA code that you want to investigate but do not want to make it a trusted document.
The steps below will walk you through the process of enabling macros for the duration of the file’s open state:
- Navigate to the File tab > Info.
- Click Enable Content > Advanced Options in the Security Warning area.
- Select Enable content for this session in the Microsoft Office Security Options dialogue box, then click OK.
This enables macros for a single-use. The warning will reappear if you close and then reopen the workbook.
How to Enable macros in all workbooks through the Trust Center?
Microsoft Excel decides whether to allow or disallow VBA code execution based on the macro setting selected in the Trust Center, which is where you configure all of Excel’s security settings.
To enable macros by default in all Excel workbooks, follow these steps:
- Navigate to the File tab and then to Options.
- Select Trust Center from the left-hand pane and then click on Trust center setting.
- In the Trust Center dialog box, click Macro Settings on the left, select Enable all macros and click OK.
Notes: The option you select in the Trust Center becomes the new default macro setting for all of your Excel files. Instead, if you only want to enable macros for specific workbooks, save them in a trusted location.
How to Enable macros permanently in a trusted location?
Rather than tampering with the global macro settings, you can instruct Excel to trust specific locations on your computer or local network.
Follow these steps to view the current trusted locations or to add a new one:
- Navigate to File > Options.
- Select Trust Center from the left-hand pane, and then click Trust Center Settings.
- On the left side of the Trust Center dialogue box, select Trusted Locations. You will be presented with a list of the default trusted locations. These locations are critical for the proper operation of Excel add-ins, macros, and templates and should not be altered. Technically, you can save your workbook to one of Excel’s default locations, but it’s preferable to create your own.
- Click Add a new location to set up your trusted location.
- Do the following in the Microsoft Office Trusted Locations dialogue box:
- Navigate to the folder you want to make a trusted location by clicking the Browse button.
- Check the Subfolders of this location are also trusted box if you want any subfolder of the selected folder to be trusted as well.
- Fill in the Description field with a brief message (this can help you manage multiple locations) or leave it blank.
- Click the OK button.
Completed! You can now save your workbook with macros in a trusted location without worrying about Excel’s security settings.
How to Enable macros programmatically with VBA?
Many people ask on Excel forums if it is possible to enable macros programmatically when opening a workbook and disable them before exiting. “No, it’s not possible,” is the immediate response. Because macro security is critical for Excel’s security, Microsoft designed any VBA code to be activated only by a user click.
When Microsoft closes a door, the user opens another 🙂 As a workaround, someone suggested using a “splash screen” or “instruction sheet” to force the user to enable macros. The fundamental concept is as follows:
You write code that generates all the worksheets except one, which is tucked away. The visible sheet (splash screen) states something like “Please enable macros and re-open the file” or provides more specific instructions.
When macros are disabled, the user can only see the “Splash Screen” worksheet; all other sheets are hidden. When macros are enabled, the code unhides all the sheets before re-hiding them completely when the workbook is closed.
How to Disable macros in Excel?
As previously stated, Excel’s default setting disables macros with a notification and allows users to enable them manually if desired. If you want to disable all macros silently, without receiving any notifications, go to the Trust Center and select the corresponding option (the first one).
- Click the File tab > Options in Excel.
- Select Trust Center from the left-hand pane, and then click Trust Center Settings.
- Select Macro Settings from the left menu, then Disable all macros without notification and click OK.
Содержание
- Вкладка «Разработчик»
- Вставляем код VBA в книгу Excel
- Как запустить макросы в Excel
- Создание макросов
- Отображение вкладки “Разработчик” в ленте меню
- Как запустить макрос из редактора Visual Basic?
- Абсолютная и относительная запись макроса
- Метод 1: Записываем макрос в автоматическом режиме
- Пример записи простого макроса
- Разрешение выполнения макросов Excel 97-2003
- Работа с макросами
- Включение/выключение макросов с помощью меню разработчика
- Как запустить макрос из панели быстрого доступа?
- Активация и выключение макросов во вкладке Разработчика
- Включение и отключение макросов через меню разработчика
- Как включить макросы в Эксель
- Включение и отключение макросов в других версиях Excel
- Как запустить макрос из приложения?
- Описание параметров макросов
- Включение и отключение макросов через параметры программы
- Что нельзя сделать с помощью макрорекодера?
- Как включить или отключить макросы в Excel 2010
- Расширение файлов Excel, которые содержат макросы
- Как включить или отключить макросы в Excel 2007
- Как вставить макрос в Excel
- Корректируем макрос
- Назначение макроса кнопке
- Заключение
Вкладка «Разработчик»
Запись макроса осуществляется встроенным рекордером, кнопка запуска которого находится на вкладке «Разработчик» главного меню программы Excel. По умолчанию эта вкладка не отображается. Добавить вкладку на панель можно следующим образом:
Excel 2010-2016
Переходим по пути: Файл — Параметры — Настроить ленту. В разделе «Настроить ленту» справа в списке «Основные вкладки» устанавливаем флажок «Разработчик» и нажимаем кнопку «OK».
Excel 2007
Переходим по пути: значок «Microsoft Office» — Параметры Excel — категория «Основные», в категории «Основные» устанавливаем флажок «Показывать вкладку «Разработчик» на ленте» и нажимаем кнопку «OK».
Excel 2000-2003
Здесь ничего отображать не надо: кнопки по работе с макросами и редактором VBA находятся в главном меню на вкладке «Сервис» — «Макрос».
На самом деле в Excel для работы с макросами используются не кнопки, а пункты меню, но, для удобства, продолжу называть их кнопками.
Вставляем код VBA в книгу Excel
В этом примере мы будем использовать VBA макрос, который удаляет переносы строк из ячеек текущего листа Excel.
-
- Открываем рабочую книгу в Excel.
- Нажатием Alt+F11 вызываем окно редактора Visual Basic
- На панели Project-VBAProject кликаем правой кнопкой мыши по имени рабочей книги (в левой верхней части окна редактора) и в контекстном меню выбираем Insert > Module.
- Копируем код VBA (с веб-страницы или из другого источника) и вставляем его в правую область редактора VBA (окно Module1).Подсказка: Как увеличить скорость выполнения макроса?
В самом начале кода Вашего макроса VBA должны содержаться строки:
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Если таких строк нет, то обязательно добавьте следующие строки в свой макрос, чтобы он работал быстрее (см. рисунок выше):
- В самое начало кода после всех строк, начинающихся с Dim (если строк, начинающихся с Dim нет, то вставляем сразу после строки Sub):
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
- В самый конец кода, перед End Sub:
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
Эти строки, как можно понять из их содержания, отключают обновление экрана и пересчёт формул рабочей книги перед выполнением макроса. После выполнения кода эти параметры снова включаются. Данный приём приводит к ускорению выполнения макроса от 10% до 500% (да, макрос может работать в 5 раз быстрее, если манипуляции над ячейками происходят без лишних остановок).
- В самое начало кода после всех строк, начинающихся с Dim (если строк, начинающихся с Dim нет, то вставляем сразу после строки Sub):
- Сохраняем рабочую книгу, как книгу Excel с поддержкой макросов. Для этого нажмите Ctrl+S и в окне с предупреждением Следующие компоненты невозможно сохранить в книге без поддержки макросов (The following features cannot be saved in macro-free workbook) нажмите Нет (No).Откроется диалоговое окно Сохранение документа (Save as). В выпадающем списке Тип файла (Save as type) выбираем Книга Excel с поддержкой макросов (Excel macro-enabled workbook) и нажимаем кнопку Сохранить (Save).
- Нажимаем Alt+Q, чтобы закрыть окно редактора VBA и вернуться к книге Excel.
Теперь рассмотрим, как выполняются все созданные ранее макросы в документе Excel.
Если макрос был вставлен в модуль, то он запускается пользователем. У меня такой макрос объединяет несколько ячеек в одну без потери данных.
Выделяем ячейки, которые нужно объединить, затем переходим на вкладку «Разработчик» и кликаем по кнопочке «Макросы».
Откроется диалоговое окно «Макрос». В списке, выбираем нужное имя макроса: «MergeCell», и жмем «Выполнить».
Макрос выполнился: нужные ячейки объединены, и текст в них сохранен.
Если макрос был вставлен в рабочий лист, то запускаться он будет автоматически, в зависимости от действий пользователя. У меня макрос добавляет значения из выпадающего списка в ячейки справа. В код вставлен то диапазон ячеек, в котором находятся выпадающие списки.
Теперь, когда я выбираю из выпадающего списка значение, оно вписывается в ячейки, расположенные справа от той ячейки, в которой находится сам список. Это свидетельствует о выполнении макроса.
Если макрос вставлен в рабочую книгу, он также выполняется автоматически, когда пользователь производит определенные действия над книгой: закрывает ее, или сохраняет.
Если Вы создали пользовательскую функцию, то вставлять в документ ее также надо как функцию. У меня такая функция должна рассчитывать НДС.
Например, применим ее к ячейке А1, со значением «100». Выделяем ячейку, в которую будет вписан результат. Затем переходим на вкладку «Формулы» и нажимаем кнопочку «Вставить функцию».
Откроется окно «Мастер функций». В поле «Категория» выбираем из выпадающего списка «Определенные пользователем», в поле «Выберите функцию» выбираем название из списка: «NDS». Нажимаем «ОК».
Затем выделяю ячейку, для которой нужно посчитать НДС, и нажимаю «ОК».
Включить макросы в документе Excel 2010 совершенно не сложно. Надеюсь, Вы также разобрались, как вставить макрос в Excel, а затем выполнить его.
Создание макросов
В Эксель создать макросы можно вручную или автоматически. Последний вариант предполагает запись действий, которые мы выполняем в программе, для их дальнейшего повтора. Это достаточно простой способ, пользователь не должен обладать какими-то навыками кодирования и т.д. Однако, в связи с этим, применить его можно не всегда.
Чтобы создавать макросы вручную, нужно уметь программировать. Но именно такой способ иногда является единственным или одним из немногих вариантов эффективного решения поставленной задачи.
Отображение вкладки “Разработчик” в ленте меню
Перед тем как записывать макрос, нужно добавить на ленту меню Excel вкладку “Разработчик”. Для этого выполните следующие шаги:
- Щелкните правой кнопкой мыши по любой из существующих вкладок на ленте и нажмите «Настроить ленту». Он откроет диалоговое окно «Параметры Excel».
- В диалоговом окне «Параметры Excel» у вас будут параметры «Настроить ленту». Справа на панели «Основные вкладки» установите флажок «Разработчик».
- Нажмите «ОК».
В результате на ленте меню появится вкладка “Разработчик”
Как запустить макрос из редактора Visual Basic?
Для того чтобы запустить макрос, необходимо открыть приложение, для которого он написан. Из открытого приложения перейти в редактор VisualBasic сочетанием клавиш Alt+F11 (Alt с левой стороны клавиатуры). В обозревателе проектов (окно ProjectExplorer по умолчанию находится в левом верхнем углу редактора) найти проект, а в проекте модуль, в котором записан макрос. Двойной клик левой кнопкой мыши по выбранному модулю отображает все макросы (процедуры, функции), которые в нем хранятся. Остается отыскать макрос с нужным именем, установить курсор в любое место между ключевыми словами Sub и End Sub, после чего нажать кнопку Run Sub в меню редактора либо кнопку F5 на клавиатуре.
Абсолютная и относительная запись макроса
Вы уже знаете про абсолютные и относительные ссылки в Excel? Если вы используете абсолютную ссылку для записи макроса, код VBA всегда будет ссылаться на те же ячейки, которые вы использовали. Например, если вы выберете ячейку A2 и введете текст “Excel”, то каждый раз – независимо от того, где вы находитесь на листе и независимо от того, какая ячейка выбрана, ваш код будет вводить текст “Excel” в ячейку A2.
Если вы используете параметр относительной ссылки для записи макроса, VBA не будет привязываться к конкретному адресу ячейки. В этом случае программа будет “двигаться” относительно активной ячейки. Например, предположим, что вы уже выбрали ячейку A1, и вы начинаете запись макроса в режиме относительной ссылки. Теперь вы выбираете ячейку A2, вводите текст Excel и нажмите клавишу Enter. Теперь, если вы запустите этот макрос, он не вернется в ячейку A2, вместо этого он будет перемещаться относительно активной ячейки. Например, если выбрана ячейка B3, она переместится на B4, запишет текст “Excel” и затем перейдет к ячейке K5.
Теперь давайте запишем макрос в режиме относительных ссылок:
- Выберите ячейку A1.
- Перейдите на вкладку “Разработчик”.
- В группе “Код” нажмите кнопку “Относительные ссылки”. Он будет подсвечиваться, указывая, что он включен.
- Нажмите кнопку “Запись макроса”.
- В диалоговом окне “Запись макроса” введите имя для своего макроса. Например, имя “ОтносительныеСсылки”.
- В опции “Сохранить в” выберите “Эта книга”.
- Нажмите “ОК”.
- Выберите ячейку A2.
- Введите текст “Excel” (или другой как вам нравится).
- Нажмите клавишу Enter. Курсор переместиться в ячейку A3.
- Нажмите кнопку “Остановить запись” на вкладке “Разработчик”.
Макрос в режиме относительных ссылок будет сохранен.
Теперь сделайте следующее.
- Выберите любую ячейку (кроме A1).
- Перейдите на вкладку “Разработчик”.
- В группе “Код” нажмите кнопку “Макросы”.
- В диалоговом окне “Макрос” кликните на сохраненный макрос “ОтносительныеСсылки”.
- Нажмите кнопку “Выполнить”.
Как вы заметите, макрос записал текст “Excel” не в ячейки A2. Это произошло, потому что вы записали макрос в режиме относительной ссылки. Таким образом, курсор перемещается относительно активной ячейки. Например, если вы сделаете это, когда выбрана ячейка B3, она войдет в текст Excel – ячейка B4 и в конечном итоге выберет ячейку B5.
Вот код, который записал макрорекодер:
Sub ОтносительныеСсылки() ' ' ОтносительныеСсылки Макрос ' ' ActiveCell.Offset(1, 0).Range("A1").Select ActiveCell.FormulaR1C1 = "Excel" ActiveCell.Offset(1, 0).Range("A1").Select End Sub
Обратите внимание, что в коде нет ссылок на ячейки B3 или B4. Макрос использует Activecell для ссылки на текущую ячейку и смещение относительно этой ячейки.
Не обращайте внимание на часть кода Range(«A1»). Это один из тех случаев, когда макрорекодер добавляет ненужный код, который не имеет никакой цели и может быть удален. Без него код будет работать отлично.
Метод 1: Записываем макрос в автоматическом режиме
Чтобы иметь возможность записать макросы автоматически, для начала нужно их активировать в параметрах Эксель.
Узнать, как это можно сделать, можно в нашей статье – “Как включать и отключать макросы в Excel”.
После того, как макросы включены, можно перейти к нашей основной задаче.
- Переключаемся во вкладку “Разработчик”. В группе инструментов “Код” щелкаем по значку “Записать макрос”.
- На экране появится окошко, в котором мы можем выполнить настройки записи. Здесь указывается:
- имя макроса – любое, но должно начинаться с буквы (не с цифры), не допускаются пробелы.
- комбинация клавиш, которая будет использоваться для запуска макроса. Обязательной является Ctrl, а вторую мы можем назначить в специальном поле. Допустим, пусть это будет клавиша “r”. Если нужно использовать заглавную букву, нужно зажать клавишу Shift, которая будет добавлена в сочетание клавиш.
- место хранения макроса. Стандартно – это будет текущая книга, но, если требуется, можно выбрать новую книгу или личную книгу макросов. В нашем случае оставляем стандартный вариант.
- При желании можно добавить описание к макросу.
- По готовности кликаем OK.
- Теперь в созданный макрос будут записываться все действия, которые мы будем выполнить в книге. И так до тех пор, пока мы не остановим запись.
- Допустим, давайте давайте в ячейке D2 выполним умножение двух ячеек (B2 и B3):
=B2*B3
. - После того, как выражение готово, нажимаем клавишу Enter, чтобы получить результат. Затем останавливаем запись макроса, нажав на значок “Стоп” (появилась вместо кнопки “Записать макрос”) в группе инструментов “Код”.
Пример записи простого макроса
Выполните следующие действия:
Excel 2007-2016
- Откройте книгу Excel или создайте новую и сохраните ее как книгу с поддержкой макросов (.xlsm).
- На вкладке «Разработчик» нажмите кнопку «Запись макроса».
- В окне «Запись макроса» нажмите кнопку «OK», оставив параметры по умолчанию.
- Перейдите на вкладку «Главная» и выберите любой цвет заливки ячеек.
- Нажмите кнопку «Остановить запись».
Excel 2000-2003
- Откройте книгу Excel или создайте новую и сохраните ее с расширением по умолчанию (.xls).
- Включите запись макроса, пройдя по пунктам меню «Сервис» — «Макрос» — «Начать запись».
- В окне «Запись макроса» нажмите кнопку «OK», оставив параметры по умолчанию.
- На панели инструментов выберите любой цвет заливки ячеек.
- Нажмите кнопку «Остановить запись».
В результате будет записан простейший макрос окрашивания фона выделенной ячейки или диапазона.
Откройте список макросов, выберите записанный макрос и нажмите кнопку «Изменить». Вы увидите код вашего макроса:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
Sub Макрос1() ‘ ‘ Макрос1 Макрос ‘ ‘ With Selection.Interior .Pattern = xlSolid .PatternColorIndex = xlAutomatic .Color = 5296274 .TintAndShade = 0 .PatternTintAndShade = 0 End With End Sub |
Выберите на активном листе любую ячейку или диапазон, вернитесь в редактор VBA и нажмите клавишу «F5» (курсор должен находиться в любом месте внутри кода запускаемого макроса). На активном листе выделенный диапазон окрасится в выбранный при записи макроса цвет.
Рекордер макросов может записывать много лишних строк, без которых можно обойтись. Точно также макрос будет работать и в такой редакции:
Sub Макрос2() Selection.Interior.Color = 5296274 End Sub |
Скопируйте этот код и вставьте его внизу, под вашим макросом, в редакторе VBA (числовое значение цвета можете изменить на свое или оставить, как в примере). Проверьте его работоспособность, выбрав незакрашенные ячейки и запустив макрос клавишей «F5», не забыв о том, что курсор должен находиться внутри этого макроса.
Имена макросов должны различаться в пределах одного модуля, но еще лучше – всем макросам одной книги давать уникальные имена.
Разрешение выполнения макросов Excel 97-2003
В меню «Сервис» выберите «Макрос», в открывшемся вложенном меню нажмите «Безопасность…». В открывшемся окне установите средний или низкий уровень безопасности.
При выборе среднего уровня – решение о запуске макросов придется каждый раз принимать пользователю, при выборе низкого уровня – Excel будет автоматически запускать все макросы.
После установки уровня безопасности полностью закройте Excel и запустите снова, чтобы изменения вступили в силу.
Работа с макросами
Если вы не уверены в источнике, с которого скачали файл, то лучше не использовать макросы, так как они могут заразить ПК вирусным ПО. Именно по этой причине разработчики утилиты предусмотрели возможность включения и отключения макросов. Ниже будет подробно рассматриваться работа с этими программными алгоритмами.
Включение/выключение макросов с помощью меню разработчика
В этой статье преимущественно будет рассматриваться работа с автоматическими алгоритмами в Excel 2010, так как на сегодня именно эта версия является самой популярной у пользователей.
Проще всего работать с макросами с помощью меню разработчика, но эта опция обычно отключена в программе по умолчанию. Для того чтобы ее активировать, выполните такие действия:
- Зайдите в блок «Файл» и откройте раздел «Параметры».
- В боковом меню нажмите на строку «Настройки ленты», после чего в правой области окна поставьте флажок напротив пункта «Разработчик».
- Для сохранения внесенных изменений кликните «ОК».
- В верхнем меню у вас должен будет появиться новый блок «Разработчик». Перейдите в него и кликните по иконке с изображением восклицательного знака в желтом треугольнике.
- Перед вами отобразится центр управления безопасностью. Перейдите в раздел «Параметры макросов» и поставьте флажок напротив пункта «Включить все макросы…». Обратите внимание, вы активируете опцию на свой страх и риск.
- Кликните «ОК», для того чтобы сохранить настройки.
Отключение программных алгоритмов осуществляется в той же вкладке. На выбор пользователя предлагается 3 варианта. Вы можете отключить все макросы без уведомления и с соответствующим оповещением или разрешить утилите работать с файлами, которые имеют цифровую подпись. Для внесения изменений необходимо нажать «ОК».
Как запустить макрос из панели быстрого доступа?
В версиях Microsoft Office 2007 и выше есть так называемая панель быстрого доступа, которая может располагаться как над, так и под лентой. В настройках панели быстрого доступа есть пункт меню «Другие команды». Если в поле «Выбрать команды из:» из выпадающего списка выбрать пункт «Макросы», навести курсор на имя какого-либо макроса и нажать кнопку «Добавить», в панели быстрого доступа появится иконка, нажатие на которую будет запускать макрос. В окне настроек панели быстрого доступа можно изменить отображаемое имя макроса, которое всплывает при наведении курсора мыши на иконку, а также можно изменить изображение на кнопке, выбрав одну из предложенных картинок. И в Word и в Excel эта возможность реализована одинаково.
Активация и выключение макросов во вкладке Разработчика
Сразу стоит отметить, что в процессе выполнения этой задачи некоторые пользователи могут столкнуться с трудностями. Все из-за того, что вкладка “Разработчик” по умолчанию выключена и ее, для начала, нужно активировать.
- Щелкаем левой кнопкой мыши по меню «Файл».
- Затем, внизу раскрывшегося списка выбираем пункт «Параметры».
- В параметрах программы нас интересует пункт «Настройка ленты». Далее ставим галочку напротив вкладки “Разработчик”. Теперь подтверждаем действие нажатием кнопки «OK».
По завершении этих действий вкладка «Разработчик» будет активирована. Теперь можно приступить к включением макросов.
- Щелкаем по вкладке “Разработчик”. В левом углу будет находиться требуемый раздел, где нажимаем кнопку «Безопасность макросов» в виде восклицательного знака.
- В появившемся окне с настройками можно активировать сразу все макросы. Для этого необходимо выбрать из всех предложенных параметров вариант “Включить все макросы”. Нажатием кнопки “OK” подтверждаем внесенные изменения и выходим из параметров.Однако, следует обратить внимание на то, что разработчики Microsoft не рекомендуют выбирать этот вариант, так как есть вероятность запуска опасной программы, что может навредить компьютеру. Поэтому, выполняя эту операцию, помните, что вы действуете на свой страх и риск.
Деактивация макросов происходит в том же диалоговом окне. Однако, при выключении пользователю будет предложено сразу три варианта с разной степенью безопасности.
Как следует из названия, в самом нижнем варианте исправно будут работать все макросы, имеющие цифровую подпись. А в двух первых вариантах они будут отключены полностью. После того, как мы сделали выбор, нажимаем кнопку «OK».
Включение и отключение макросов через меню разработчика
Основное внимание мы уделим процедуре включения и отключения макросов в самой популярной и распространённой на сегодня версии программы — Excel 2010. Потом, более бегло поговорим о том, как это сделать в других версиях приложения.
Включить или отключить макросы в Microsoft Excel можно через меню разработчика. Но, проблема состоит в том, что по умолчанию данное меню отключено. Чтобы его включить, переходим во вкладку «Файл». Далее, кликаем по пункту «Параметры».
В открывшемся окне параметров, переходим в раздел «Настройка ленты». В правой части окна данного раздела устанавливаем галочку около пункта «Разработчик». Жмем на кнопку «OK».
После этого, на ленте появляется вкладка «Разработчик».
Переходим во вкладку «Разработчик». В самой правой части ленты расположен блок настроек «Макросы». Чтобы включить или отключить макросы, кликаем по кнопке «Безопасность макросов».
Открывается окно центра управления безопасностью в разделе «Макросы». Для того, чтобы включить макросы, переставляем переключатель в позицию «Включить все макросы». Правда, данное действие разработчик не рекомендует выполнять в целях безопасности. Так что, всё выполняется на свой страх и риск. Жмем на кнопку «OK», которая расположена в нижнем правом углу окна.
Отключаются макросы тоже в этом же окне. Но, существует три варианта отключения, один из которых пользователь должен выбрать в соответствии с ожидаемым уровнем риска:
- Отключить все макросы без уведомления;
- Отключить все макросы с уведомлением;
- Отключить все макросы, кроме макросов с цифровой подписью.
В последнем случае, макросы, у которых будет иметься цифровая подпись, смогут выполнять задачи. Не забываем жать на кнопку «OK».
Как включить макросы в Эксель
- Для активации необходимо запустить программу, в верхней левой части нажать на «Файл».
- Откроется окно, остановитесь на «Параметры».
- В левой части запустившегося меню, отыщите «Безопасность».
- Справа кликните по «Параметры центра управления».
- Страница перегрузится, и справа, в верхнем столбце, нужно установить галочку рядом с «Включить все».
- Обязательно подтвердите действия, выбрав в нижней части окна «Ок».
Прежде чем приступить к активации, следует запомнить, что:
- Макрорекордер запишет все действия пользователя, в том числе и ошибки.
- Записываться будут только те действия, которые выполняются в Microsoft Excel. При переключении на другую программу запись остановится.
- Макрорекордер способен записать действия, выполняемые серфером вручную.
Чтобы Макрос работал корректно, не допуская оплошностей, обязательно продумайте действия перед началом записи.
Включение и отключение макросов в других версиях Excel
В других версиях программы Excel процедура отключения макросов несколько отличается от указанного выше алгоритма.
В более новой, но менее распространенной версии программы Excel 2013, несмотря на некоторую разницу в интерфейсе приложения, процедура включения и отключения макросов происходит по тому же алгоритму, который был описан выше, а вот у более ранних версий он несколько отличается.
Для того, чтобы включить или отключить макросы в программе Excel 2007, нужно сразу кликнуть по логотипу Microsoft Office в верхнем левом углу окна, а затем в нижней части открывшейся страницы нажать на кнопку «Параметры». Далее, открывается окно Центра управления безопасностью, и дальнейшие действия по включению и отключению макросов практически ничем не отличаются от описанных для Excel 2010.
В версии Excel 2007 достаточно просто последовательно перейти по пунктам меню «Сервис», «Макрос» и «Безопасность». После этого, откроется окно, в котором нужно выбрать один из уровней безопасность работы макросов: «Очень высокая», «Высокая», «Средняя» и «Низкая». Эти параметры соответствуют пунктам параметров макросов более поздних версий.
Как видим, включить макросы в последних версиях программы Excel несколько сложнее, чем это было в предыдущих версиях приложения. Это связано с политикой разработчика на увеличение уровня безопасности пользователя. Таким образом, макросы может включить только более или менее «продвинутый» пользователь, который способен объективно оценить риски от выполняемых действий.
Как запустить макрос из приложения?
Чтобы запустить макрос из приложения, для которого он написан, прежде всего, необходимо открыть приложение, затем нажать сочетание клавиш Alt+F8 на клавиатуре, в диалоговом окне «Макрос» отыскать нужный макрос по имени, навести на него курсор и нажать кнопку «Выполнить», либо дважды кликнуть по имени левой кнопкой мыши.
Описание параметров макросов
- Отключить все макросы без уведомления. Этот параметр отключает макросы и связанные с ними оповещения безопасности.
- Отключить все макросы с уведомлением. Этот параметр отключает макросы без отключения оповещений системы безопасности, которые будут появляться при их наличии. Это позволяет включать макросы, когда это требуется.
- Отключить все макросы кроме макросов с цифровой подписью. Этот параметр отключает макросы без отключения оповещений системы безопасности, которые будут появляться при их наличии. Однако при наличии у макроса цифровой подписи надежного издателя он запускается, если этому издателю выражено доверие. В противном случае выводится уведомление о необходимости включить макрос, содержащий цифровую подпись, и выразить доверие издателю.
- Включить все макросы (не рекомендуется, возможен запуск опасной программы). Если задан этот параметр, выполняются все макросы. Компьютер становится уязвимым для потенциально опасных программ.
Чтобы избежать заражения компьютера, проверяйте файлы, скачанные из неизвестных источников, антивирусной программой. Архивные файлы перед проверкой антивирусом лучше не распаковывать, чтобы случайно не запустить самораспаковывающийся архив до проверки.
Включение и отключение макросов через параметры программы
Существует ещё один способ включения и отключения макросов. Прежде всего, переходим в раздел «Файл», и там жмем на кнопку «Параметры», как и в случае включения меню разработчика, о чем мы говорили выше. Но, в открывшемся окне параметров, переходим не в пункт «Настройка ленты», а в пункт «Центр управления безопасностью». Кликаем по кнопке «Параметры центра управления безопасностью».
Открывается то же самое окно Центра управления безопасностью, в которое мы переходили через меню разработчика. Переходим в раздел «Параметры макросов», и там включаем или отключаем макросы тем же способом, как делали это в прошлый раз.
Что нельзя сделать с помощью макрорекодера?
Макро-рекордер отлично подходит для вас в Excel и записывает ваши точные шаги, но может вам не подойти, когда вам нужно сделать что-то большее.
- Вы не можете выполнить код без выбора объекта. Например, если вы хотите, чтобы макрос перешел на следующий рабочий лист и выделил все заполненные ячейки в столбце A, не выходя из текущей рабочей таблицы, макрорекодер не сможет этого сделать. В таких случаях вам нужно вручную редактировать код.
- Вы не можете создать пользовательскую функцию с помощью макрорекордера. С помощью VBA вы можете создавать пользовательские функции, которые можно использовать на рабочем листе в качестве обычных функций.
- Вы не можете создавать циклы с помощью макрорекордера. Но можете записать одно действие, а цикл добавить вручную в редакторе кода.
- Вы не можете анализировать условия: вы можете проверить условия в коде с помощью макрорекордера. Если вы пишете код VBA вручную, вы можете использовать операторы IF Then Else для анализа условия и запуска кода, если true (или другой код, если false).
Как включить или отключить макросы в Excel 2010
Запуск макросов в Excel 2010 аналогичен Excel 2007 в связи с этим мы рассмотрим другой способ открыть окно Параметры макросов для возможности включать или отключать макросы.
Для этого необходимо перейти в раздел Разработчик | Безопасность макросов | Параметры макросов | Включить все макросы (не рекомендуется, возможен запуск опасной программы)
Стоит отметить, что раздел панели инструментов Разработчик в Excel 2007 доступен по умолчанию, а в Excel 2010 его необходимо включить. Это особенно полезно сделать тем пользователям, которые будут часто работать с макросами. Чтобы включить панель инструментов Разработчик в Excel 2010 необходимо запустить Файл | Параметры | Настройка ленты после этого необходимо с правой стороны необходимо поставить галочку напротив надписи Разработчик
Очень надеемся, что наша статья помогла вам в решении вашей проблемы. Будем благодарны, если вы нажмете +1 и/или Мне нравится внизу данной статьи или поделитесь с друзьями с помощью кнопок расположенных ниже.
Расширение файлов Excel, которые содержат макросы
Когда вы записываете макрос или вручную записываете код VBA в Excel, вам необходимо сохранить файл с расширением файла с поддержкой макросов (.xlsm).
До Excel 2007 был достаточен один формат файла – .xls. Но с 2007 года .xlsx был представлен как стандартное расширение файла. Файлы, сохраненные как .xlsx, не могут содержать в себе макрос. Поэтому, если у вас есть файл с расширением .xlsx, и вы записываете / записываете макрос и сохраняете его, он будет предупреждать вас о сохранении его в формате с поддержкой макросов и покажет вам следующее диалоговое окно:
Если вы выберете “Нет”, Excel сохранить файл в формате с поддержкой макросов. Но если вы нажмете “Да”, Excel автоматически удалит весь код из вашей книги и сохранит файл как книгу в формате .xlsx. Поэтому, если в вашей книге есть макрос, вам нужно сохранить его в формате .xlsm, чтобы сохранить этот макрос.
Как включить или отключить макросы в Excel 2007
В Excel 2007 включить или отключить макросы можно таким же способом, но данное меню находится в другом месте. В Excel 2007 это можно сделать в окне Параметры макросов. Чтобы попасть в данное меню вам необходимо перейти в Меню | Параметры Excel
В открывшемся окне необходимо запустить Центр управления безопасностью | Параметры центра управления безопасностью | Параметры макросов
В окне параметров макроса выберете пункт Включить все макросы (не рекомендуется, возможен запуск опасной программы).
После этого вам также необходимо закрыть и открыть файл Excel, чтобы изменения вступили в силу. В дальнейшем макросы будут запускаться в Excel 2007 автоматически.
Как вставить макрос в Excel
Важно понимать, что макрос можно вставить в модуль, рабочий лист, рабочую книгу, или они могут являться частью пользовательской формы.
Вставим код макроса в модуль
Например, нужно объединить несколько ячеек в одну без потери данных. Как известно, Excel может объединять ячейки, сохраняя данные только из левой верхней ячейки. Чтобы сохранить все данные из объединяемых ячеек, будем использовать VBA-код.
Открываем редактор VBА: переходим на вкладку «Разработчик» и кликаем по кнопочке «Visual Basic», также можно воспользоваться комбинацией «Alt+F11».
С левой стороны редактора, в окне «Project», выделяем мышкой рабочую книгу. Рабочая книга – это Ваш открытый документ Excel, в который нужно вставить макрос. У меня он называется «Книга1».
Кликаем по выбранному пункту правой кнопкой мыши и выбираем из меню «Insert» – «Module».
В окне «Project» появилась новая папка «Modules», а в ней наш первый модуль с названием «Module1».
Справа появится поле для ввода VBA-кода. С помощью комбинации «Ctrl+V», вставляю в него код, который будет объединять несколько ячеек, без потери данных. Название макроса «MergeCell».
Следите за тем, куда Вы вставляете код, это будет написано или в заголовке редактора, или в заголовке окна для вставки кода. Мы вставляем код в модуль, соответственно надпись – «Modul1(Code)».
Сохраняем изменения, нажав комбинацию «Ctrl+S». Если Вы используете Excel 2007 и выше, появится окно сохранения документа. В нем, в поле «Тип файла», выберите из выпадающего списка «Книга Excel с поддержкой макросов» и нажмите «Сохранить».
Вставим код макроса в рабочий лист
Например, у нас есть выпадающий список. Нужно сделать так, чтобы при выборе нескольких значений из него, они появлялись в ячейках справа.
Открываем редактор VBA и в окошке «Project» выделяем нужный лист, если их в рабочей книге несколько, на котором должен работать макрос: «Лист1 (Лист1)». Кликаем по нему два раза мышкой.
Справа появиться окошко для ввода кода. Обратите внимание, мы вставляем код в рабочий лист, соответственно в заголовке написано «Лист1(Code)». Сохраните изменения в документе, как было описано выше.
Чтобы вставить код макроса в рабочую книгу, кликните два раза мышкой по пункту «ЭтаКнига» и вставьте код в появившуюся область.
Создадим пользовательскую функцию
Например, создадим функцию, которая будет рассчитывать НДС. В окне «Project» кликаем по рабочему листу правой кнопкой мыши и выбираем «Insert» – «Module».
В папке «Modules», появляется второй модуль с названием «Module2». Прописываем VBA-код в соответствующее окно, и сохраняем его, нажав «Ctrl+S». Называться функция будет «NDS».
Корректируем макрос
Созданный макрос можно изменить. Самая распространенная причина, которая приводит к такой необходимости – сделанные при записи ошибки. Вот как можно отредактировать макрос:
- Нажимаем кнопку “Макросы” (или комбинацию Ctrl+F8).
- В появившемся окошке выбираем наш макрос и щелкаем “Изменить”.
- На экране отобразится окно редактора “Microsoft Visual Basic”, в котором мы можем внести правки. Структура каждого макроса следующая:
- открывается с команды “Sub”, закрывается – “End Sub”;
- после “Sub” отображается имя макроса;
- далее указано описание (если оно есть) и назначенная комбинация клавиш;
- команда “Range(“…”).Select” возвращает номер ячейки. К примеру, “Range(“B2″).Select” отбирает ячейку B2.
- В строке “ActiveCell.FormulaR1C1” указывается значение ячейки или действие в формуле.
- Давайте попробуем скорректировать макрос, а именно, добавить в него ячейку B4 со значением 3. В код макроса нужно добавить следующие строки:
Range("B4").Select
ActiveCell.FormulaR1C1 = "3" - Для результирующей ячейки D2, соответственно, тоже нужно изменить начальное выражение на следующее:
ActiveCell.FormulaR1C1 = "=RC[-2]*R[1]C[-2]*R[2]C[-2]"
.Примечание: Обратите внимание, что адреса ячеек в данной строке (ActiveCell.FormulaR1C1) пишутся в стиле R1C1. - Когда все готово, редактор можно закрывать (просто щелкаем на крестик в правом верхнем углу окна).
- Запускаем выполнение измененного макроса, после чего можем заметить, что в таблице появилась новая заполненная ячейка (B4 со значением “3”), а также, пересчитан результат с учетом измененной формулы.
- Если мы имеем дело с большим макросом, на выполнение которого может потребоваться немало времени, ручное редактирование изменений поможет быстрее справиться с задачей.
- Добавив в конце команду
Application.ScreenUpdating = False
мы можем ускорить работу, так как во время выполнения макроса, изменения на экране отображаться не будут. - Если потребуется снова вернуть отображение на экране, пишем команду:
Application.ScreenUpdating = True
.
- Добавив в конце команду
- Чтобы не нагружать программу пересчетом после каждого внесенного изменения, в самом начале пишем команду
Application.Calculation = xlCalculationManual
, а в конце –Application.Calculation = xlCalculationAutomatic
. Теперь вычисление будет выполняться только один раз.
Назначение макроса кнопке
Теперь давайте назначим записанный макрос (любой из двух) кнопке, добавленной на лист Excel из раздела «Элементы управления формы»:
Excel 2007-2016
- На вкладке «Разработчик» нажмите кнопку «Вставить» и в разделе «Элементы управления формы» кликните по изображению кнопки.
- Переведите курсор на табличную область листа, курсор примет вид крестика, и кликните левой кнопкой мыши.
- В открывшемся окне «Назначить макрос объекту» выберите один из новых макросов и нажмите кнопку «OK». Если нажать кнопку «Отмена», новая кнопка будет создана без назначенного макроса. Его можно будет назначить позднее, кликнув по ней правой кнопкой мыши и выбрав в контекстном меню «Назначить макрос…»
Excel 2000-2003
-
- Отобразите панель инструментов «Формы», пройдя по пунктам меню «Вид» — «Панели инструментов» — «Формы».
- Кликните по Кнопке на панели инструментов «Формы», затем переведите курсор на табличную часть рабочего листа, нажмите левую кнопку мыши и, не отпуская ее, нарисуйте прямоугольник (контур кнопки) нужного размера, затем отпустите кнопку мыши.
- В открывшемся окне «Назначить макрос объекту» выберите один из новых макросов и нажмите кнопку «OK». Если нажать кнопку «Отмена», новая кнопка будет создана без назначенного макроса. Его можно будет назначить позднее, кликнув по ней правой кнопкой мыши и выбрав в контекстном меню «Назначить макрос…»
Кнопка создана. Выберите ячейку или диапазон и нажмите созданную кнопку. Цвет фона изменится.
Вы можете записать еще один такой же макрос, только выбрать на палитре «Нет заливки», создать еще одну кнопку и назначить ей вновь созданный макрос. Теперь, первая кнопка будет окрашивать выделенный диапазон, а вторая очищать его от заливки.
Сокращенный вариант кода по очистке фона будет выглядеть так:
Sub Макрос3() Selection.Interior.Pattern = xlNone End Sub |
Чтобы отредактировать кнопку – изменить надпись, шрифт, размер, переместить и т.д. – используйте контекстное меню и маркеры, появляющиеся после клика по ней правой кнопкой мыши. Если вы хотите, чтобы кнопка не уезжала из зоны видимости при прокрутке листа, закрепите верхнюю строку и разместите кнопку на ней.
Заключение
Благодаря отключению макросов разработчики пытаются обезопасить пользователей от возможных рисков. Однако, в некоторых случаях, их все же, требуется включить. В зависимости от версии программы, и даже в одной и той же версии это может выполняться по-разному. Но независимого от выбранного способа, процедура достаточно проста и не требует глубоких знаний и навыков работы с ПК.
Источники
- https://vremya-ne-zhdet.ru/vba-excel/makrosy/
- https://office-guru.ru/excel/kak-v-excel-2010-ili-2013-vstavit-i-zapustit-kod-vba-rukovodstvo-dlja-nachinayuschih-439.html
- http://comp-profi.com/rabota-s-makrosami-v-excel/
- https://MicroExcel.ru/sozdanie-makrosov/
- https://micro-solution.ru/excel/vba/first-macros
- http://macros-vba.ru/knigi/vba/281-kak-zapustit-makros
- https://vremya-ne-zhdet.ru/ofisnaya-rabota/vypolneniye-makrosov-excel/
- https://public-pc.com/kak-vklyuchit-ili-otklyuchit-makrosy-v-excel/
- https://MicroExcel.ru/vklyuchenie-i-otklyuchenie-makrosov/
- https://lumpics.ru/how-to-enable-or-disable-macros-in-excel/
- https://luchiy-brayzer.ru/programmy-na-pk/instruktsiya-kak-vklyuchit-makrosy-v-eksel-i-ego-opredelenie/
- https://sirexcel.ru/makrosi_vba/kak-vklyuchit-ili-otklyuchit-makrosy-v-excel-2003-2007-i-2010/
При помощи макросов в Эксель задаются специальные команды, благодаря которым можно автоматизировать часть задач и, тем самым, существенно уменьшить временные затраты на выполнение работы. Однако, макросы обладают уязвимостью к хакерским атакам и потенциально опасны. Следует помнить о том, что они несут в себе определенную угрозу, и этим могут воспользоваться злоумышленники. Решение о необходимости их применения нужно принимать, оценивая каждый конкретный случай.
К примеру, если пользователь не уверен в безопасности открываемого документа, от макросов целесообразнее будет отказаться, так как файл может нести в себе вирусный код. Разработчики программы принимают во внимание этот факт и дают пользователю возможность выбора. Именно поэтому в Экселе заложена функция настройки макросов, а точнее, их активности.
Активация и выключение макросов во вкладке Разработчика
Сразу стоит отметить, что в процессе выполнения этой задачи некоторые пользователи могут столкнуться с трудностями. Все из-за того, что вкладка “Разработчик” по умолчанию выключена и ее, для начала, нужно активировать.
- Щелкаем левой кнопкой мыши по меню «Файл».
- Затем, внизу раскрывшегося списка выбираем пункт «Параметры».
- В параметрах программы нас интересует пункт «Настройка ленты». Далее ставим галочку напротив вкладки “Разработчик”. Теперь подтверждаем действие нажатием кнопки «OK».
По завершении этих действий вкладка «Разработчик» будет активирована. Теперь можно приступить к включением макросов.
- Щелкаем по вкладке “Разработчик”. В левом углу будет находиться требуемый раздел, где нажимаем кнопку «Безопасность макросов» в виде восклицательного знака.
- В появившемся окне с настройками можно активировать сразу все макросы. Для этого необходимо выбрать из всех предложенных параметров вариант “Включить все макросы”. Нажатием кнопки “OK” подтверждаем внесенные изменения и выходим из параметров.Однако, следует обратить внимание на то, что разработчики Microsoft не рекомендуют выбирать этот вариант, так как есть вероятность запуска опасной программы, что может навредить компьютеру. Поэтому, выполняя эту операцию, помните, что вы действуете на свой страх и риск.
Деактивация макросов происходит в том же диалоговом окне. Однако, при выключении пользователю будет предложено сразу три варианта с разной степенью безопасности.
Как следует из названия, в самом нижнем варианте исправно будут работать все макросы, имеющие цифровую подпись. А в двух первых вариантах они будут отключены полностью. После того, как мы сделали выбор, нажимаем кнопку «OK».
Настройка макросов в Параметрах программы
- Заходим в меню «Файл», и выбираем в нем пункт «Параметры» – аналогично первому пункту в рассмотренном ранее примере.
- Но теперь вместо настроек ленты, выбираем раздел “Центр управления безопасностью”. В правой части окна щелкаем на кнопку “Параметры центра управления безопасностью…”
- В итоге система нас направит в окно с настройками макросов, которое открывалось и при выполнении операции во вкладке Разработчика. Далее выбираем нужную нам опцию и кликаем “OK”.
Настройка макросов в ранних версиях Эксель
В ранних версиях программы активация и деактивация макросов происходила иначе.
Например, алгоритм действий в программах 2010 года и моложе аналогичный, но есть определенные различия в интерфейсе программ.
А для активации или выключения макросов в версии 2007 года необходимо щелкнуть мышью по значку Microsoft Office в сверху в левом углу. После этого требуется найти раздел «Параметры» внизу открывшейся страницы. Кликнув по разделу «Параметры», мы попадем в Центр управления безопасностью. Далее нам нужны Параметры центра управления безопасностью и, в итоге, непосредственно, сами параметры макросов.
Заключение
Благодаря отключению макросов разработчики пытаются обезопасить пользователей от возможных рисков. Однако, в некоторых случаях, их все же, требуется включить. В зависимости от версии программы, и даже в одной и той же версии это может выполняться по-разному. Но независимого от выбранного способа, процедура достаточно проста и не требует глубоких знаний и навыков работы с ПК.