Макрос в excel что такое: Назначение макроса форме или кнопке управления

Назначение макроса форме или кнопке управления

Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel 2021 Excel 2021 for Mac Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Excel 2010 Excel 2007 Еще…Меньше

Вы можете использовать кнопку управления формы или кнопку (ActiveX) для запуска макроса, который выполняет действие, когда пользователь щелкает его. Обе эти кнопки также называются push-кнопками, которые можно настроить для автоматизации печати, фильтрации данных или вычисления чисел. Как правило, кнопки управления формы и ActiveX похожи по внешнему виду и функции. Однако между ними есть несколько отличий, которые объясняются в следующих разделах.


Кнопка (управление формы)

Кнопка (ActiveX)

В разделах ниже вы узнаете, как добавить макрос на кнопку в Excel для Windows или Mac.

Примечание: ActiveX не поддерживаются на компьютере Mac.

Макрос и средства VBA находятся на вкладке Разработчик, которая по умолчанию скрыта.

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

Добавление кнопки (управление формы)


  1. На вкладке Разработчик в группе Элементы управления нажмите кнопку Вставить, а затем в группе Элементы управления формы нажмитекнопку .

  2. Щелкните на листе место, где должен быть расположен левый верхний угол кнопки. Появится всплывающее окно Назначение макроса.

  3. Назначьте кнопке макрос и нажмите кнопку ОК.

  4. Чтобы задать свойства кнопки, щелкните ее правой кнопкой мыши и выберите форматирование.

Добавление кнопки (ActiveX управления)


  1. На вкладке Разработчик в группе Элементы управления нажмите кнопку Вставить, а затем вгруппе Элементы управления ActiveX нажмите кнопку .


  2. Щелкните на том месте, где должен отображаться левый верхний угол кнопки.

  3. В группе Элементы управления нажмите кнопку Код представления. При этом Visual Basic редактора. Убедитесь, что в списке справа выбрано нажатие кнопки. При нажатии кнопки CommandButton1_Click процедуры (см. рисунок ниже) запускаются эти два макроса: SelectC15 и HelloMessage.

  4. В подпроцеду для кнопки сделайте следующее:

    • org/ListItem»>

      Введите имя существующего макроса в книге. Макрос можно найти, щелкнув Макрос в группе Код. С помощью кнопки можно запускать несколько макроса, вводя их имена в отдельных строках подпроцесса.

    • При необходимости добавьте собственный код VBA.

  5. Закроем Visual Basic редактора и нажмите кнопку Режим конструктора режим конструктора, чтобы отключить режим конструктора.

  6. Чтобы запустить код VBA, который теперь является частью кнопки, нажмите кнопку ActiveX, которую вы только что создали.

  7. Чтобы изменить элемент ActiveX, убедитесь, что выбран режим конструктора. На вкладке Разработчик в группе Элементы управления нажмите кнопку Режим конструктора.

  8. Чтобы задать свойства кнопки, на вкладке Разработчик в группе Элементы управления нажмите кнопку Свойства . Можно также щелкнуть правой кнопкой мыши кнопку и щелкнуть свойства .

    Примечание: Перед тем как нажать кнопку Свойства, выделите объект, свойства которого требуется просмотреть или изменить.



    Появится поле Свойства. Для получения дополнительных сведений о каждом свойстве выберите свойство и нажмите клавишу F1, чтобы отобразить соответствующий раздел справка по Visual Basic. Можно также ввести имя свойства в поле Поиск справки Visual Basic. В следующей таблице 2010 2010 2016 2016 2016 2016 201


























Описание параметра


Необходимое свойство


Общие


Загружает ли его при открытом книге. (Игнорируется для ActiveX элементов управления.)

AutoLoad (Excel)

Может ли он получать фокус и отвечать на события, созданные пользователем.

Enabled (форма)

Можно ли изменять элемент управления

Locked (форма)

Имя элемента управления

Name (форма)

Способ привязки элемента управления к расположенным под ним ячейкам (не закреплен, можно перемещать, но нельзя изменять размер, можно перемещать и изменять размер)

Placement (Excel)

Можно ли выводить элемент управления на печать

PrintObject (Excel)

Является ли элемент управления видимым или скрытым

Visible (форма)


Текст


Атрибуты шрифта (полужирный, курсив, размер, зачеркивание, подчеркивание и насыщенность)

Bold, Italic, Size, StrikeThrough, Underline, Weight (форма)

Поясняющий текст элемента управления, определяющий или описывающий его

Caption (форма)

Будет ли содержимое элемента управления переноситься по словам в конце строки

WordWrap (форма)


Размер и положение


Будет ли размер элемента управления изменяться автоматически для отображения всего содержимого

AutoSize (форма)

Высота или ширина в пунктах

Height, Width (форма)

Расстояние от элемента управления до левого или верхнего края листа

Left, Top (форма)


Форматирование


Цвет фона

BackColor (форма)

Стиль фона (прозрачный или непрозрачный)

BackStyle (форма)

Цвет переднего плана

ForeColor (форма)

Наличие тени элемента управления

Shadow (Excel)


Изображение


Точечный рисунок, отображаемый в элементе управления

Picture (форма)

Положение рисунка относительно его заголовка (слева, сверху, справа и так далее)

PicturePosition (форма)


Клавиатура и мышь


Сочетание клавиш для элемента управления

Accelerator (форма)

Настраиваемый значок мыши

MouseIcon (форма)

Тип указателя, отображаемого при наведите указатель мыши на определенный объект (стандартный, стрелка, I-указатель и так далее).

MousePointer (форма)

Будет ли фокус при щелчке.

TakeFocusOnClick (форма)



Макрос и средства VBA находятся на вкладке «Разработчик», которая по умолчанию скрыта, поэтому сначала нужно включить ее.

  1. Перейдите в Excel > параметры…> ленты & панель инструментов.

  2. org/ListItem»>

    В категории Настроить ленту в списке Основные вкладки установите флажок Разработчик, а затем нажмите кнопку Сохранить.

Добавление кнопки (управление формы)


Сделайте следующее:

  1. На вкладке Разработчик нажмите кнопку .

  2. Щелкните на листе место, где должен быть расположен левый верхний угол кнопки. Появится всплывающее окно Назначение макроса.

    Примечание: Если кнопка уже вставлена, щелкните ее правой кнопкой мыши и выберите назначить макрос.

  3. Назначьте кнопке макрос и нажмите кнопку ОК.

  4. Чтобы задать свойства кнопки, щелкните ее правой кнопкой мыши и выберите форматирование.

     

Добавление кнопки (Visual Basic управления)


  1. На вкладке Разработчик нажмите кнопку .

  2. org/ListItem»>

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

    Примечание: Если кнопка уже вставлена, щелкните ее правой кнопкой мыши и выберите назначить макрос.

  3. В диалоговом окне Назначение макроса выберите Новый, который откроет редактор Visual Basic(VBE)в области со следующим кодом:


    
      Sub ButtonX_Click() 
    
      End Sub

  4. В подпроцеду для кнопки между строками Sub и End Sub сделайте следующее:

    • org/ListItem»>

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

    • Добавьте собственный код VBA.

  5. Нажмите кнопку Режим режим конструктора, чтобы режим конструктора отключен, а затем закроем Visual Basic редактора.

  6. Чтобы изменить кнопку, щелкните ее правой кнопкой мыши ивыберите Visual Basic .

  7. Чтобы задать свойства кнопки, щелкните ее правой кнопкой мыши и выберите форматирование.


Дополнительные сведения


Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.



См. также



  • Добавление и изменение макроса для управления на сайте


  • Включение и отключение макросов в файлах Office

  • org/ListItem»>


    Включение и отключение параметров элементов ActiveX в файлах Office

Что такое макрос и где его искать?

Хитрости »

1 Май 2011       Дмитрий       461322 просмотров




Основные понятия (26)
Сводные таблицы и анализ данных (10)
Графики и диаграммы (5)
Работа с VB проектом (12)
Power BI и Power Query (20)

Условное форматирование (5)
Списки и диапазоны (5)
Макросы(VBA процедуры) (68)
Разное (43)
Баги и глюки Excel (4)

  Tips_Macro_Basic_Video.xls (63,5 KiB, 3 965 скачиваний)


Наверное, многие слышали это слово «макрос«, но не все имеют точное представление что это, если заглянули на эту страничку.

Макрос

— это макрокоманда(так звучит в правильном переводе с англ.языка), содержащая последовательность действий, записанных пользователем. Запись производится с помощью встроенного в пакет Microsoft Office языка программирования — Visual Basic for Application(VBA).

Зачем же нужны макросы? А нужны они для того, чтобы избавить Вас от рутинного выполнения одних и тех же действий. Например, Вам каждый день приходиться удалять из ежедневных отчетов по несколько столбцов и добавлять новые строки для шапки и т.п. Скучно и утомительно. Вы просто можете записать один раз все эти действия макрорекордером, а в дальнейшем только вызывать записанный макрос и он все сделает за Вас. Что немаловажно, для использования макрорекордера и записи макроса не надо обладать никакими навыками программирования.
В этой статье:

  • Подготовка к записи макроса
  • Запись макроса
  • Параметры записи макроса
  • Воспроизведение макроса
  • В каких файлах можно хранить макросы?

 
ПОДГОТОВКА К ЗАПИСИ МАКРОСА
Прежде чем начать работать с макросами необходимо разрешить их выполнение, т. к. по умолчанию они отключены. Для этого необходимо сделать следующее:

  • Excel 2003:
    Сервис-Безопасность-Уровень макросов «Низкий»
  • Excel 2007:
    Кнопка ОфисПараметры Excel (Excel Options)Центр управления безопасностью (Trust Centr)Параметры центра управления безопасностью (Trust Centr Settings)Параметры макросов (Macro Settings)Разрешить все макросы (Enable All Macros)
  • Excel 2010:
    Файл (File)Параметры (Options)Центр управления безопасностью (Trust Centr)Параметры центра управления безопасностью (Trust Centr Settings)Параметры макросов (Macro Settings)Разрешить все макросы (Enable All Macros)
  • После изменения параметров безопасности макросов необходимо перезапустить приложение Excel: закрыть его полностью и открыть заново. Только после этого изменения вступят в силу.

Прежде чем начать записывать макрос необходимо помнить следующее:

  • Макрорекордер записывает АБСОЛЮТНО ВСЕ ваши действия – ошибки, прокручивание экрана, переключение между листами, выделение ячеек и т.д. Поэтому перед записью своих действий необходимо сначала тщательно продумать все свои действия, чтобы в дальнейшем записать только то, что действительно необходимо записать и в дальнейшем воспроизвести. Это сократит как сам код, так и время его выполнения
  • Макрорекордер записывает действия выполненные только в пределах Microsoft Excel. Если вы переключитесь в другое приложение – действия в этой программе записаны не будут. Если закроете Excel – запись прекратится
  • Макрорекордер может записать только те действия, которые можно проделать вручную(те, которые доступны для выполнения из меню и с панелей)
  • Если во время кода вы совершили ошибочное действие и нажали кнопку отмены(Ctrl+Z) – отмененное действие не будет записано в макрос, как будто вы его просто не делали

 
ЗАПИСЬ МАКРОСА
Для пользователей Excel 2003 запись макроса возможна через меню:
СервисМакрос Начать Запись

Для пользователей Excel 2007-2010 и старше:

  • С вкладки Разработчик (Developer): Группа Код (Code)Запись макроса (Record Macro)
    Отобразить вкладку Разработчик (Developer) (если еще не отображена)
    Excel 2007: Параметры Excel(Excel Options)Основные(Popular)— галочка напротив Показывать вкладку Разработчик на ленте(Show Developer Tab on Ribbon)

    Excel 2010: Файл (File)Параметры (Options)Настройка ленты (Customize Ribbon)— галочка напротив Разработчик (Developer)

  • Из строки состояния: Нажать кнопку «Запись макроса»
    Для записи макроса из строки состояния нужно убедиться в том, что в настройках Строки состояния стоит галочка напротив Запись макроса (Macro Recording)

    Посмотреть настройки строки состояния можно щелкнув правой кнопкой мыши на нижней границе приложения:

    Если данная галочка включена, то в строке состояния будет значек, отображающий текущее состояние записи
    Нет записи

    Идет запись

 
ПАРАМЕТРЫ ЗАПИСИ МАКРОСА
Перед записью можно задать имя записываемому макросу и назначить сочетание клавиш, при нажатии которых этот макрос будет запускаться. После нажатия кнопки для начала записи макроса появится окно:

Имя макроса – не должно содержать пробелов, запятых, двоеточий и т.п. Допустимы символы кириллицы, латиницы, цифры и нижнее подчеркивание (я рекомендую давать макросам имена, содержащие только буквы латиницы). Имя макроса всегда должно начинаться с буквы и не должно совпадать со встроенным именем Excel или именем другого объекта в книге (например, не должно носить имя Workbook, Cells или ЭтаКнига). Лучше давать макросу сразу понятное имя, отражающее примерную суть того, что он делает.
Сочетание клавиш – можно назначить вызов макроса сочетанием клавиш. Доступно назначение любой цифры или буквы в сочетании с Ctrl.
Сохранить в – выбираете место хранения записываемого макроса. Доступны варианты:

  • Эта книга (This Workbook) – макрос будет записан в той же книге, из которой была запущена запись. Записанный макрос будет доступен из приложения только если книга открыта
  • Новая книга (New Workbook) – будет создана новая книга, в которой записан макроса. Записанный макрос будет доступен из приложения только если книга открыта
  • Личная книга макросов (Personal Macro Workbook) – самый интересный вариант. Если его выбрать, то макрос будет сохранен в отдельной книге PERSONAL.XLS (для Excel 2007 и выше — PERSONAL.XLSB). Макросы, записанные в эту книгу доступны из всех открытых книг Excel и эта книга подключается автоматически при запуске самого Excel. Т.е. однажды записав где-то макрос в эту книгу – он теперь будет доступен из любой книги независимо от того, открыта ли книга, из которой был записан макрос или нет. Изначально эта книга отсутствует и создается в момент первого обращения к ней (т.е. как только вы первый раз выбрали Сохранить в личную книгу макросов)

 
ВОСПРОИЗВЕДЕНИЕ МАКРОСА
После записи макроса запустить его можно разными способами:

  1. ПРИ ПОМОЩИ СОЧЕТАНИЯ КЛАВИШ: Alt+F8
    Этот способ универсальный и его можно использовать из любой версии Excel. Достаточно нажать сочетание клавиш Alt+F8 и выбрать нужный макрос из списка:
  2. ВЫЗОВ ИЗ МЕНЮ:
    Excel 2007-2010 и старше: вкладка Разработчик (Developer)Макросы (Macros)
    Excel 2003: СервисМакросМакросы
  3. НАЖАТИЕМ СОБСТВЕННОЙ КНОПКИ НА ЛИСТЕ:
    Можно разместить на листе собственную кнопку, по нажатии которой будет запускаться записанный макрос. Подробно этот процесс я описал в статье: Как создать кнопку для вызова макроса на листе
  4. ПРИ ПОМОЩИ НАЗНАЧЕННЫХ МАКРОСУ ГОРЯЧИХ КЛАВИШ:
    Если вы перед записью назначили макросу сочетание клавиш, то вы также можете вызвать этот макрос и нажатием данного сочетания. Горячие клавиши макросу можно назначить и после записи: Alt+F8→ Выделяем нужный макрос→ Параметры (Options).
  5. ПРИ НАСТУПЛЕНИИ ОПРЕДЕЛЕННОГО СОБЫТИЯ В ЛИСТЕ ИЛИ КНИГЕ:

    Прежде чем пробовать использовать этот метод рекомендуется изучить статью Что такое модуль? Какие бывают модули?Для этого сначала необходимо вставить код макроса в тело событийной процедуры (подробнее про событийные процедуры). Например, если выбрать процедуру листа Change, то в лист автоматически будет вставлена пустая процедура:

    Private Sub Worksheet_Change(ByVal Target As Range)
     
    End Sub

    Если ранее вами был записан код выделения и удаления двух столбцов – Макрос1:

    Sub Макрос1()
    '
    ' Макрос1 Макрос
    ' макрос удаляет столбцы C и D из активного листа
    '
    ' Сочетание клавиш: Ctrl+Shift+Q
    '
        Columns("C:D"). Select
        Selection.Delete Shift:=xlToLeft
    End Sub

    То для выполнения это кода при наступлении события изменения на листе можно вставить вызов этого макроса:

    Private Sub Worksheet_Change(ByVal Target As Range)
        Call Макрос1
    End Sub

    или вставить сам код (без Sub и End Sub) внутрь процедуры Worksheet_Change:

    Private Sub Worksheet_Change(ByVal Target As Range)
        Columns("C:D").Select
        Selection.Delete Shift:=xlToLeft
    End Sub

 
В каких файлах можно хранить макросы?
Как ни странно, но начиная с версии 2007 Excel не все файлы могут хранить макросы. Это значит, что если макрос был записан в файле и потом файл был сохранен в формате, который хранение макросов не поддерживает — макросы пропадут. Как правило Excel в таком случае выдаст предупреждение о том, что проект VBA в файле этого формата не может быть сохранен и будет удален, если нажать Да:

Чтобы сохранить файл с поддержкой макросов необходимо будет нажать Нет и из списка форматов выбрать тот, который поддерживает хранение макросов.
Ниже приведены форматы файлов, применяемые в Excel с описанием того, можно ли в них хранить макросы(VBA коды):

  • *.xls – формат книги Excel 97–2003 (поддержка VBA, макросов)
  • *.xla – надстройка Excel 97–2003 (поддержка VBA, макросов)
  • *.xlsx – формат книги Excel 2007 по умолчанию без поддержки макросов
  • *.xlsm – книга Excel 2007 с поддержкой макросов
  • *.xlsb – двоичный формат для больших объемов данных (с поддержкой VBA, макросов)
  • *.xltx – шаблон книги Excel 2007 без поддержки макросов
  • *.xltm – шаблон книги Excel 2007 с поддержкой макросов
  • *.xlam – надстройка Excel 2007

Для смены формата файла его необходимо сохранить в другом формате:

  • Excel 2007: Кнопка ОфисСохранить как(SaveAs) -Выбрать необходимый формат файла
  • Excel 2010: Файл(File)Сохранить как(SaveAs) -Выбрать необходимый формат файла

Теперь несложно понять, что хранить макросы в версиях Excel 2007 и выше можно в форматах: xls, xla, xlsm, xlsb, xltm, xlsm.

Также см.:
Почему не работает макрос?
Как создать кнопку для вызова макроса на листе?
Select и Activate — зачем нужны и нужны ли?
Как ускорить и оптимизировать код VBA


Статья помогла? Поделись ссылкой с друзьями!

    Видеоуроки


Поиск по меткам


Accessapple watchMultexPower Query и Power BIVBA управление кодамиБесплатные надстройкиДата и времяЗапискиИПНадстройкиПечатьПолитика КонфиденциальностиПочтаПрограммыРабота с приложениямиРазработка приложенийРосстатТренинги и вебинарыФинансовыеФорматированиеФункции Excelакции MulTExссылкистатистика

Что такое макрос в Excel?

Советы и руководства по Excel

Редактировать

Добавить в избранное

Избранное

Автор: Дон | Правки: дон

Курс Excel Macro & VBA (от новичка до эксперта) >>> Скидка 80%

Это первый шаг к изучению макросов для Excel и их использованию.

Что такое макрос?

Макрос — это небольшая программа, созданная в Excel для автоматизации задач.

По сути, эта «вещь», макрос, может сэкономить вам часы времени. Вы можете создавать макросы, которые делают практически все в Excel и даже в других программах Microsoft Office.

Как мне могут помочь макросы?

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

Например, вы можете создать макрос, который просматривает все данные в книге Excel, собирает важную информацию и отправляет эту информацию по электронной почте через Outlook, и вы можете сделать все это одним нажатием кнопки после того, как вы сделать макрос.

Через мгновение мы вместе создадим простой макрос, но сначала давайте поговорим о том, как они создаются.

Что такое VBA?

Макросы создаются с использованием VBA, что означает Visual Basic для приложений.

Visual Basic — это язык программирования, и если вы начнете изучать его с книги, это может ужасно раздражать и сбивать с толку.

Все, что вам нужно знать, это то, что VBA — это язык программирования, который используется для создания макросов. Вам НЕ нужно быть экспертом VBA, чтобы создавать макросы; вам просто нужно следовать инструкциям здесь! 🙂

Ваш первый макрос

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

  1. Откройте Excel и нажмите сочетание клавиш Alt + F11 , и вы попадете в окно VBA для Excel. Это должно выглядеть примерно так:
  2. Перейдите в меню Insert и щелкните Module :

    Теперь вы должны увидеть следующее окно:

  3. В окне типа Sub , а затем любое имя, которое вы хотите дать своему макросу, а затем открывающая и закрывающая скобка.

    Нажмите Enter, чтобы перейти к следующей строке, и End Sub должен автоматически появиться, например:

    Промежуток между этими двумя строками — это место, где будет находиться код макроса, VBA.

  4. Здесь я наберу очень простую строку кода, которая выведет всплывающее окно сообщения с надписью HI!

    Теперь мы создали макрос для Excel с помощью VBA!

  5. Нажмите Alt + F11 , чтобы вернуться в Excel, а затем нажмите Alt + F8 . Должно появиться такое окно:
  6. Вы можете увидеть имя только что созданного макроса, my_macro . В этом окне вы сможете увидеть все макросы, к которым у вас есть доступ. Выберите макрос и нажмите кнопку Run .
    Вы должны увидеть всплывающее окно, подобное этому:

    Нажмите OK, и окно закроется.
    Вот оно!

Мы успешно запрограммировали и запустили макрос для Excel!

Notes

Как видите, основы создания макроса для Excel довольно просты. Это становится более сложным, чем это, но это зависит от того, что вы хотите сделать. Однако лучшее в создании макросов то, что вам не нужно быть мастером-программистом или даже много знать о VBA, чтобы создавать очень полезные макросы.

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

Учебники здесь будут сосредоточены на том, чтобы научить вас делать что-то с вашими макросами, а не только на концептуальном дерьме, которое вы никогда не будете использовать.

Продолжайте читать, чтобы узнать больше! 🙂

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

Версия Excel:

Эксель 2003, Эксель 2007, Эксель 2010, Эксель 2013, Эксель 2016


Курс Excel VBA — от новичка до эксперта

200+ видеоуроков
50+ часов обучения
Более 200 руководств Excel

Станьте мастером VBA и макросов в Excel и узнайте, как автоматизировать все свои задачи в Excel с помощью этого онлайн-курса. (Опыт работы с VBA не требуется.)

Посмотреть курс

Подпишитесь на еженедельные уроки

БОНУС: подпишитесь сейчас, чтобы загрузить нашу электронную книгу Top Tutorials!


Курс Excel VBA — от новичка до эксперта

200+ видеоуроков

50+ часов видео

Более 200 справочников Excel

Станьте мастером VBA и макросов в Excel и узнайте, как автоматизировать все свои задачи в Excel с помощью этого онлайн-курса. (Опыт работы с VBA не требуется.)

Посмотреть курс

Создайте макрос за 4 простых шага

Я не могу передать вам, сколько времени я потратил (гм, впустую), делая одно и то же снова и снова в Excel. Форматирование моей книги, вставка формул, форматирование ячеек и выделение строк. У этого списка нет конца.

Но что, если я скажу вам, что есть способ автоматизировать все это? Что, если бы вы могли легко выполнять эти рутинные задачи одним нажатием кнопки? Ну, это еще одна область, где Excel действительно сияет. Пришло время познакомиться с вашим новым лучшим другом: макросами.

Давайте перейдем к нашему учебнику по макросам Excel для начинающих.

Усовершенствуйте свою игру в Excel

Загрузите нашу готовую к печати таблицу ярлыков для Excel.

Введите адрес электронной почты

Что такое макрос?

Макрос — это фрагмент кода в Excel, который можно использовать для автоматизации многих рутинных задач, таких как упомянутые выше.

Возможно, вы слышали, что термины «макрос» и «VBA» взаимозаменяемы, но между ними есть различие. Проще говоря, VBA — это язык программирования, используемый для написания макросов.

Посмотрите это пояснительное видео, чтобы узнать больше о различиях между макросами и VBA из курса GoSkills Excel Macros & VBA.

Если у вас есть некоторый опыт, вы можете использовать VBA для создания более сложных макросов, как показано в этом руководстве по расширенной фильтрации.

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

Концепция макроса может показаться сложной. Но научиться использовать их в своих интересах на самом деле удивительно просто.

Где получить доступ к макросам

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

Все они находятся на вкладке «Разработчик» в Excel. Однако по умолчанию Excel скрывает эту вкладку. Если вы в настоящее время ее не видите, вам нужно будет сделать несколько шагов, чтобы эта вкладка стала частью вашей панели инструментов. Как вы это сделаете, будет зависеть от того, используете ли вы ПК или Mac.

Если вы используете ПК, перейдите в «Файл» и выберите «Параметры». Нажмите «Настроить ленту» в меню, а затем установите флажок для вкладки «Разработчик». Нажмите «ОК», и на вашей ленте появится вкладка «Разработчик».

Если вы используете Mac, нажмите «Excel» в верхнем левом углу экрана (рядом с логотипом Apple), а затем «Настройки». Оттуда нажмите «Просмотр», а затем установите флажок для вкладки «Разработчик».



Как построить макрос: пример из практики

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

София использовала Excel для систематизации и отслеживания всего своего списка приглашенных, и прямо сейчас у нее есть около 400 различных строк данных, в которых указано имя участника, роль, номер стола и его или ее выбор обеда.

Чтобы отметить членов совета директоров компании, София попросила официанта (который будет использовать электронную таблицу Софии в Excel при организации мероприятия) поместил что-то особенное в сервировку каждого члена совета директоров.

Чтобы определить, кто в этой массивной электронной таблице Excel является членом правления (без нарушения ее порядка и номеров столов!), София и официант согласились, что она должна сделать следующее, чтобы явно отметить, кто за каждым столом является членом правления (так что его не пропускает команда установки):

  • Выделите жирным шрифтом имя члена правления
  • Изменить текст имени члена правления на синий
  • Выделите ячейку с именем члена правления желтым цветом

София рада этому. Но она понимает, что ей потребуется вечность, чтобы найти члена правления за каждым столом, а затем пройти эти три разных этапа форматирования для каждой ячейки члена правления.

Обладая небольшим знанием Excel за плечами, она решает создать простой макрос, поэтому, когда она находит ячейку для члена правления, она может применить эти три правила форматирования всего одним нажатием кнопки.

Давайте создадим этот макрос вместе с Софией.

1.

Настройте свой макрос

Чтобы начать, щелкните ячейку, не принадлежащую члену правления, перейдите на вкладку «Разработчик» и нажмите «Записать макрос».

В этот момент вы увидите окно, которое дает вам возможность назвать ваш макрос (важное примечание: Excel не позволит вам включать пробелы в имя вашего макроса). Нажмите, чтобы сохранить макрос в этой книге (поскольку именно там София работает с данными).

Вы также можете ввести сочетание клавиш, чтобы применить этот макрос (в случае Софии она будет использовать option+command+b для члена правления) и описание (это полезно, если вы записываете и храните много макросов).

Когда вы закончите вводить необходимую информацию, нажмите «ОК». В этот момент вы увидите «Остановить запись» на вкладке «Разработчик». Это означает, что вы активно записываете свои следующие шаги.

2. Запишите свой макрос

Запись макроса — это именно то, на что это похоже: София будет использовать Excel для записи шагов, которые она предпринимает для форматирования одной ячейки. Когда эти шаги будут записаны и макрос создан, она сможет безболезненно отформатировать ячейку члена правления.

Теперь, когда мы настроили наш макрос и начали активную запись, София выберет имя члена правления, а затем применит три своих правила форматирования: выделение текста жирным шрифтом, изменение цвета шрифта и выделение ячейки.

Когда она закончит, она нажмет клавишу «Ввод», а затем вернется на вкладку «Разработчик», чтобы нажать «Остановить запись».

3. Отредактируйте свой макрос

Вот важная вещь, которую вы должны помнить: выполнение этих шагов означает, что София только что записала свой макрос. Однако Excel считает, что нужно применить эти правила только к этой одной ячейке.

Чтобы использовать этот макрос в других местах, ей нужно настроить диапазон макроса. К счастью, это легко сделать.

Для этого нажмите «Макросы» на вкладке «Разработчик». В этом меню макросов выберите «Шаг» (который будет называться «Шаг в» на ПК).

После этого вы увидите довольно пугающее окно, в котором отображается только что записанный вами VBA (что означает Visual Basic для приложений и является языком программирования Excel).

В этом окне вы увидите две разные строки, начинающиеся со слова «Диапазон». Эти строки сообщают Excel, что вы хотите, чтобы эти правила форматирования применялись только к ячейкам в этом диапазоне, а это не то, чего хочет София, поскольку она планирует использовать этот макрос для других ячеек.

Итак, это так же просто, как просто удалить эти две строки из этого кода, а затем закрыть это окно.

4. Используйте свой макрос

После удаления этого диапазона София теперь может применять этот макрос к другим ячейкам.

Для этого она просто выберет следующее имя члена совета и воспользуется созданным ею сочетанием клавиш (помните, это была опция + команда + b), чтобы легко применить все три правила форматирования к этим ячейкам.

Что, если она не создала сочетание клавиш? Она также может щелкнуть нужную ячейку, выбрать «Макросы» на вкладке «Разработчик», а затем нажать «Выполнить».