Создание макросов в Microsoft Excel

Макросы в Microsoft Excel позволяют значительно ускорить работу с документами в этом табличном редакторе. Эта возможность достигается путем автоматизации повторяющихся действий, записанных в специальный код. Давайте разберем, как создать макросы в программе и как их можно отредактировать.

Способы записи макросов в Excel

Макрос записывается двумя способами: автоматически и вручную. Воспользовавшись первым вариантом, вы просто записываете определенные действия в Microsoft Excel, которые выполняете в данный момент времени. Потом можно будет воспроизвести эту запись. Такой метод очень легкий и не требует знания кода, но применение его на практике довольно ограничено. Ручная запись, наоборот, требует знаний программирования, так как код набирается вручную с клавиатуры. Однако грамотно написанный таким образом код может значительно ускорить выполнение процессов.

Вариант 1: Автоматическая запись макросов

Прежде чем начать автоматическую запись макросов, нужно включить их в программе Microsoft Excel. Для этого воспользуйтесь нашим отдельным материалом.

Подробнее: Включение и отключение макросов в Microsoft Excel

Когда все готово, приступаем к записи.

  1. Перейдите на вкладку «Разработчик». Кликните по кнопке «Запись макроса», которая расположена на ленте в блоке инструментов «Код».
  2. Включение записи макроса в Microsoft Excel
  3. Открывается окно настройки записи макроса. Тут можно указать любое имя для него, если установленное по умолчанию вас не устраивает. Главное, чтобы имя это начиналось с буквы, а не с цифры, а также в названии не должно быть пробелов. Мы оставили название по умолчанию – «Макрос1».
  4. Тут же при желании можно установить сочетание клавиш, при нажатии на которые макрос будет запускаться. Первой клавишей обязательно должна быть Ctrl, а вторую пользователь устанавливает самостоятельно. Мы в качестве примера установили клавишу М.
  5. Далее следует определить, где будет храниться макрос. По умолчанию он расположен в этой же книге (файле), но при желании можно установить хранение в новой книге или в отдельной книге макросов. Мы оставим значение по умолчанию.
  6. В самом нижнем поле можно оставить любое подходящее по контексту описание макроса, но это делать не обязательно. Когда все настройки выполнены, жмем на кнопку «OK».
  7. Настройки записи макроса в Microsoft Excel
  8. После этого все ваши действия в данной книге (файле) Excel будут записываться в макрос до тех пор, пока вы сами не остановите запись.
  9. Для примера запишем простейшее арифметическое действие: сложение содержимого трех ячеек (=C4+C5+C6).
  10. Формула в Microsoft Excel
  11. Когда алгоритм был выполнен, щелкаем на кнопку «Остановить запись». Эта кнопка преобразовалась из кнопки «Запись макроса» после включения записи.
  12. Остановка записи макроса в Microsoft Excel

Запуск макроса

Для проверки того, как работает записанный макрос, выполним несколько простых действий.

  1. Кликаем в том же блоке инструментов «Код» по кнопке «Макросы» или жмем сочетание клавиш Alt + F8.
  2. Переход к запуску макроса в Microsoft Excel

  3. После этого открывается окно со списком записанных макросов. Ищем макрос, который мы записали, выделяем его и кликаем на кнопку «Выполнить».
  4. Выбор макроса в Microsoft Excel
  5. Можно поступить еще проще и не вызывать даже окно выбора макросов, так как на первом этапе мы задали сочетание клавиш для быстрого вызова макроса. В нашем случае это Ctrl + М. Жмем данную комбинацию на клавиатуре, после чего он запускается.
  6. Как видим, он выполнил в точности все те действия, которые были записаны ранее.
  7. Макрос выполнен в Microsoft Excel

Редактирование макроса

Естественно, при желании вы можете корректировать созданный макрос, чтобы всегда поддерживать его в актуальном состоянии и исправлять некоторые неточности, допущенные во время процесса записи.

  1. Снова щелкаем на кнопку «Макросы». В открывшемся окне выбираем нужный и кликаем по кнопке «Изменить».
  2. Переход к изменению макроса в Microsoft Excel

  3. Открывается «Microsoft Visual Basic» (VBE) – среда, где происходит их редактирование.
  4. Microsoft Visual Basic  в Microsoft Excel
  5. Запись каждого макроса начинается с команды Sub, а заканчивается командой End Sub. Сразу же после Sub указывается имя макроса. Оператор Range("…").Select указывает выбор ячейки. Например, при команде «Range(«C4»).Select» выбирается ячейка «C4». Оператор ActiveCell.FormulaR1C1 используется для записи действий в формулах и других расчетов.
  6. Попытаемся немного изменить макрос, дописав выражение:

    Range("C3").Select
    ActiveCell.FormulaR1C1 = "11"

  7. Выражение ActiveCell.FormulaR1C1 = "=R[-3]C+R[-2]C+R[-1]C" заменим на ActiveCell.FormulaR1C1 = "= R[-4]C+R[-3]C+R[-2]C+R[-1]C".
  8. Изменение макроса  в Microsoft Excel
  9. Закрываем редактор и запускаем макрос. Как видим, вследствие введенных нами изменений была добавлена дополнительная ячейка с данными. Она также была включена в расчет общей суммы.
  10. В случае если макрос слишком большой, его выполнение может занять значительное время, но внесением ручного изменения в код мы можем ускорить процесс. Добавляем команду Application.ScreenUpdating = False. Она позволит сохранить вычислительные мощности, а значит, ускорить работу. Это достигается путем отказа от обновления экрана во время выполнения вычислительных действий. Чтобы возобновить обновление после выполнения макроса, в его конце пишем команду Application.ScreenUpdating = True.
  11. Добавим также команду Application.Calculation = xlCalculationManual в начало кода, а в его конец дописываем Application.Calculation = xlCalculationAutomatic. Этим мы сначала отключаем автоматический пересчет результата после каждого изменения ячеек, а в конце макроса – включаем. Таким образом, Excel подсчитает результат только один раз, а не будет его постоянно пересчитывать, чем сэкономит время.
  12. Изменение кода в Microsoft Visual Basic в Microsoft Excel

    Вариант 2: Написание кода макроса с нуля

    Продвинутые пользователи могут выполнять не только редактирование и оптимизацию записанных макросов, но и записывать их код с нуля.

    1. Чтобы приступить к этому, нужно нажать на кнопку «Visual Basic», которая расположена в самом начале ленты разработчика.
    2. Переход к ручному созданию макроса в Microsoft Excel
    3. Откроется окно редактора VBE, которое уже было продемонстрировано в предыдущем варианте.
    4. Окно редактора VBE в Microsoft Excel
    5. Программист пишет там код макроса вручную.

    Как видим, макросы в Microsoft Excel могут значительно упростить выполнение рутинных и однообразных процессов. Тем не менее в большинстве случаев для этого больше подходят макросы, код которых написан вручную, а не автоматически записанные действия. Кроме того, его код можно оптимизировать через редактор VBE для ускорения процесса выполнения задачи.

    Помогла ли Вам статья?
    Да Нет
Задайте вопрос или оставьте мнение
Получить ответ на Email
Уведомить о

2 ответов
По рейтингу
Новые Старые
Межтекстовые Отзывы
Посмотреть все комментарии
Аноним
1 февраля 2021 10:15

Добрый день, не получается с макросом. У меня таблица 1000 строк и 100 столбцов, таблица с только числовыми значениями. По задаче требуется практически в каждой строке выполнить сортировку чисел по возрастанию (без привязки к другим строкам и т.д.). Записал макрос «сортировка» для первой строки. Далее перешел к третьей строке, в ней также требуется выполнить сортировку. Выделил третью строку, зашел в окошко Макрос, выбрал «сортировка» и Выполнить — макрос не выполняется.

Аноним
19 декабря 2022 08:52

«Которое уже быдло »
xDDDD

Инструкции по операционным системам:
AndroidAndroid iOSiOS Windows 11Windows 11 Windows 10Windows 10 Windows 7Windows 7 Windows 8Windows 8 Windows XPWindows XP Общее по компьютерамОбщее по компьютерам LinuxLinux macOSmacOS
Инструкции по мессенджерам и соц.сетям:
ВконтактеВконтакте ОдноклассникиОдноклассники TelegramTelegram ViberViber WhatsAppWhatsApp SkypeSkype ZoomZoom InstagramInstagram
Инструкции по работе в программах:
WordWord ExcelExcel PowerPointPowerPoint OutlookOutlook DirectXDirectX PhotoshopPhotoshop LightroomLightroom Premiere ProPremiere Pro Google ChromeGoogle Chrome Яндекс БраузерЯндекс Браузер Mozilla FirefoxMozilla Firefox OperaOpera Internet ExplorerInternet Explorer Уроки по остальным браузерамПо остальным браузерам Расширения для браузеровРасширения браузеров Уроки по антивирусамПо антивирусам AvastAvast AudacityAudacity Apple IDApple ID AutoCADAutoCAD BandicamBandicam BlueStacksBlueStacks DAEMON ToolsDAEMON Tools DiscordDiscord Epic GamesEpic Games FL StudioFL Studio HamachiHamachi iСloudiСloud iTunesiTunes OBSOBS OriginOrigin Play MarketPlay Market Sony VegasSony Vegas SpotifySpotify SteamSteam TeamViewerTeamViewer The Bat!The Bat! TikTokTikTok TunngleTunngle UltraISOUltraISO uTorrentuTorrent VirtualBoxVirtualBox Торрент клиентыТоррент клиенты Яндекс ДискЯндекс Диск Яндекс.КартыЯндекс.Карты Яндекс.НавигаторЯндекс.Навигатор В остальных программахВ остальных программах Драйвера для устройствДрайвера Подборки программПодобрать программу Остальные программыСкачать программы
Инструкции по онлайн-сервисам:
ЯндексЯндекс GoogleGoogle ДзенДзен YouTubeYouTube FacebookFacebook TwitterTwitter AliExpressAliExpress AvitoAvito ChatGPTChatGPT QiwiQiwi Другие онлайн-сервисыДругие сервисы Все о почтеВсе о почте Яндекс почтаЯндекс почта GmailGmail Почта Mail.ruПочта Mail.ru Рамблер почтаРамблер почта
Инструкции по телефонам:
SamsungSamsung XiaomiXiaomi HuaweiHuawei Прошивки устройствПрошивки телефонов ТелефонОбщие по телефонам
Инструкции по периферийным устройствам:
МышкаМышка КлавиатураКлавиатура ПринтерПринтер РоутерРоутер ФлешкаФлешка Карта памятиКарта памяти HDMIHDMI Игровые консолиИгровые консоли Яндекс СтанцияЯндекс Станция AirPodsAirPods
Инструкции по комплектующим:
Материнская платаМатеринская плата ПроцессорПроцессор ВидеокартаВидеокарта SSD дискиSSD диски Жесткий дискЖесткий диск BIOSBIOS