Excel для Microsoft 365 Excel 2021 Excel 2019 Excel 2016 Excel 2013 Excel 2010 Excel 2007 Еще…Меньше
Чтобы изменить макрос, прикрепленный к книге Microsoft Excel, используйте редактор Visual Basic.
Важно: Для работы с макросами необходимо включить вкладку Разработчик. Дополнительные сведения см. в статье Отображение вкладки «Разработчик».
Изменение параметров безопасности макросов
Чтобы редактировать и запускать макрос, необходимо установить уровень безопасности, чтобы временно включить все макрос.
-
На вкладке Разработчик в группе Код выберите элемент Безопасность макросов.
-
В группе Параметры макросов выберите переключатель Включить все макросы (не рекомендуется, возможен запуск опасной программы), а затем дважды нажмите кнопку ОК.
Предупреждение: Чтобы предотвратить запуск потенциально опасного кода, мы рекомендуем вернуться к любому параметру, который отключает все макросы после завершения работы с макросами.
Редактирование макроса
-
На вкладке Разработчик в группе Код нажмите кнопку Макросы.
-
В поле Имя макроса выберите макрос, который вы хотите изменить.
-
и нажмите кнопку Изменить. Откроется редактор Visual Basic.
Совет: Чтобы получить справку во время работы в редакторе Visual Basic, в меню Справка выберите Microsoft Visual Basic Справкаили нажмите F1.
Нужна дополнительная помощь?
Excel предусматривает огромное количество функций по автоматизации вычислений и обработки данных. Тем не менее, объем человеческих задач очень большой, и не всегда встроенного функционала достаточно. Да, даже если он очень широкий. В этих случаях ситуацию спасают макросы.
Они значительно увеличивают эффективность работы с информацией. Дело в том, что они не только помогают реализовать некоторые функции, которые отсутствуют в стандартном комплекте, но и автоматизировать часто повторяющиеся действия. Сегодня мы более детально разберемся в том, что такое макросы, как они работают и как создавать новые и редактировать старые макросы.
Содержание
- Что такое макрос и для чего он применяется
- Как создать новый макрос в Excel
- Способ 1. Автоматический запуск макроса
- Запуск выполнения макроса
- Корректировка макроса
- Способ 2. Создание макроса в ручном режиме
- Как изменять существующие макросы
- Заключение
Что такое макрос и для чего он применяется
Итак, макрос – это набор команд, которые должен выполнить Эксель. Они дают возможность автоматизировать почти любые часто повторяющиеся задачи. Достаточно просто выбрать одну команду один раз, воспользовавшись комбинацией горячих клавиш или панелью инструментов.
Макросы пишутся с помощью языка программирования VBA, но простой макрос можно записать и без него. Технически он ничем не отличается от программы, потому что содержит набор инструкций, которые компьютеру нужно выполнить. Нередко макрос сравнивается с кулинарным рецептом, где также описывается, в какой последовательности нужно выполнить какие действия, чтобы получить желаемый результат.
Но у макроса и рецепта есть одно ключевое различие. Макрос запускается один раз, после чего все остальные действия выполняет вручную. Поэтому если использовать кухонные метафоры, его проще сравнить с мультиваркой, в которую достаточно один раз положить нужные ингредиенты, после чего блюдо будет приготовлено самостоятельно.
Инструкции, которые передаются макросу, содержат макрооператоры – конкретные команды, которые офисному пакету нужно выполнить. Ряд из них являются специфическими, но большая часть соответствует командам из главного меню. Это делается для того, чтобы сделать процесс создания макросов более дружелюбным для пользователя.
Давайте приведем один пример. Любое приложение, независимо от используемой операционной системы, содержит кнопку «Закрыть». Если мы хотим сделать это через макрос, нам нужно ввести в среду разработки команду ActiveWindow.Close. Видим, что по названиям операторов можно много чего понять, поскольку все они пишутся на английском языке. Это также упрощает задачу пользователя, который знает английский язык.
Бояться макросов не нужно, поскольку VBA – очень простой язык программирования. Большую часть действий можно запрограммировать, даже не написав ни строчки кода. Достаточно просто эти действия записать один раз. При этом важно помнить, что редактор кода значительно функциональнее по сравнению с визуальными методами написания макросов.
Как создать новый макрос в Excel
Как мы уже поняли, есть два способа записи макросов в Excel: ручной или автоматический. Чтобы воспользоваться последним методом, не требуется наличие каких-либо навыков программирования. Правда, он ограничен и не дает возможности записывать условия, формировать сложные циклы и так далее.
Поэтому для профессионального овладения электронными таблицами умение программировать обязательно. Ведь нередко кроме непосредственно написания кода невозможно вообще как-либо решать поставленные задачи.
Способ 1. Автоматический запуск макроса
Перед тем, как записывать макросы, необходимо провести ряд несложных настроек, прежде всего, включить сами макросы. Правда, на данном этапе начинающего пользователя могут встретить некоторые трудности. Дело в том, что настройки макросов находятся на вкладке «Разработчик», доступ к которой изначально закрыт. Поэтому нужно сначала включить эту возможность. Последовательность действий следующая:
- Найти меню «Файл» и сделать по нему левый клик мышью.
- Далее появляется экран с набором подпунктов. Нам нужно выбрать меню «Параметры».
- После этого находим пункт «Настройка ленты» и ищем в нем флажок, активирующий вкладку «Разработчик».
- Подтверждаем свои действия путем нажатия клавиши «ОК».
После этого мы увидим вкладку «Разработчик» в нашей программе. Делаем переход по ней. Перед нами появляется большое количество инструментов разработчика. Из всего этого ассортимента нас интересует группа «Код». Там находится маленькая кнопка «Записать макрос», после клика по которой осуществляется непосредственная запись этой программы.
Далее пользователь увидит диалоговое окно. С него можно задать параметры для нашей будущей подпрограммы. Здесь доступны следующие настройки:
- Имя макроса. Допустимо использование какого-угодно имени за исключением того, которое начинается с числа или символа. При этом нельзя в качестве имени использовать больше одного слова.
- Комбинация клавиш. Это некий пусковой крючок для макроса. Он используется для того, чтобы включить макрос. Все горячие клавиши начинаются с клавиши Ctrl, а вторую можно настроить самостоятельно. Например, можно использовать горячую клавишу r. Также возможен ввод большой буквы. Для этого необходимо воспользоваться клавишей Shift, которая автоматически добавляется в комбинацию горячих клавиш.
- Место хранения. По умолчанию предусмотрен вариант, когда макрос применяется к текущей книге. Тем не менее, пользователь может выбрать новую или создать собственную книгу для макросов.
- Описание. При желании пользователь может в нескольких предложениях описать, что будет делать макрос. Это будет особенно полезно, если одной и той же книгой пользуются несколько человек.
После выполнения всех действий нужно нажать клавишу ОК, тем самым подтвердив изменения. Теперь все действия, совершаемые пользователем, будут автоматически записываться в макрос. Это будет продолжаться ровно до тех пор, пока запись программы не будет остановлена. Значительно проще разобрать это на реальном примере. Давайте сделаем программку, которая будет умножать содержимое двух ячеек. Для этого нужно запустить запись макроса, ввести в ячейку формулу (в нашем случае это =B2*B3), нажать клавишу Enter, после чего остановить запись. Кнопка остановки записи макроса находится на вкладке «Разработчик» в группе «Код».
Запуск выполнения макроса
Как же проверить, работает ли наш макрос? Для этого нужно выполнить следующие действия:
- Открыть вкладку «Разработчик». Там в самой левой части есть кнопка «Макросы», по которой нужно сделать левый клик мышью один раз. Кроме этого, пользователь может открыть аналогичную опцию путем нажатия горячих клавиш Alt + F8.
- После этого у нас откроется окно настройки макросов. Нужно выбрать тот, который мы только что создали, и нажать на кнопку «Выполнить». Этот же результат можно получить, если нажать сочетание клавиш, которое мы назначили для макроса раньше.
- О том, что макрос работает, мы можем судить по действиям программы. Если они повторяют те, которые были сделаны раньше, значит все ОК.
Таким способом можно проверить любой макрос. Но что делать, если оказывается, что он работает не совсем так, как нам нужно было?
Корректировка макроса
Если в ходе исполнения макроса появляются какие-то проблемы, их можно исправить. Самая распространенная проблема, по которой команды не выполняются, как надо – ошибки пользователя на этапе первичной записи команд. Чтобы отредактировать созданный макрос, нужно выполнить следующие действия.
- Открыть окошко макросов путем нажатия на ту же кнопку, что была описана выше или же воспользоваться комбинацией клавиш.
- Выбираем наш макрос. Находим кнопку «Изменить», которая находится справа от него. Делаем единичный левый клик мышью по ней.
- После этого откроется редактор Visual Basic. Правки придется вносить в код, поэтому если навыков программирования нет, нужно быть очень внимательным при записи макроса.
На данном этапе нужно уже немного переходить к следующей теме: ручное редактирование макроса. Любой макрос начинается командой Sub. О том, что макрос заканчивается, компьютер понимает по команде End Sub. После слова Sub показывается название макроса. После этого в структуре записывается описание макроса и та комбинация клавиш, которая необходима для его запуска.
Далее следуют команды, которые выполняют конкретные действия. Например, номер ячейки мы получаем с помощью оператора Range. В нашем примере, мы получаем ячейку B2 с помощью команды Range(“B2″).Select. Это действие аналогично выбору ячейки левой кнопкой мышки. Значение ячейки, которая выбрана на данный момент указывается с помощью оператора ActiveCell.FormulaR1C1.
Давайте попробуем наш макрос немного отредактировать. Допустим, нам нужно выполнить такую задачу: добавить дополнительную ячейку с адресом B4 и значением 3. В таком случае в код необходимо добавить такие строки:
Range(«B4»).Select
ActiveCell.FormulaR1C1 = «3»
На первый взгляд это может показаться довольно сложной задачей, но на самом деле, команды – это полноценный язык, который нужно просто изучить. Представьте, что вы пишете сообщение, только не человеку, а компьютеру с просьбой сделать то-то и то-то. Да, программирование именно так и устроено по факту. Все намного проще, чем кажется.
Но это уже лирическое отступление. Нам еще осталось совершить одно действие – изменить первоначальное выражение, которое касалось ячейки D2, на это: ActiveCell.FormulaR1C1 = «=RC[-2]*R[1]C[-2]*R[2]C[-2]»
Внимание! Видим, что адреса в ячейках в данном примере записываются, как R1C1.
После того, как мы выполним все описанные выше действия, можно закрыть редактор макросов. Для этого достаточно просто кликнуть по крестику. То есть, выполнить действия, аналогичные закрытию любого окна в операционной системе.
Далее нужно перепроверить макрос еще раз. Видим, что после его исполнения в таблице появилась еще одна ячейка. Если макрос очень большой, то ручное редактирование имеет множество преимуществ перед повторной его записью. Также оно позволяет избежать повторных ошибок.
Также можно ускорить работу макроса путем добавления команды Application.ScreenUpdating = False. После этого на экране не будут показываться те промежуточные шаги, которые выполняет макрос, лишь конечный результат. Если же нужно, чтобы отображение на экране было вновь включено, тогда нужно заменить False на True.
Способ 2. Создание макроса в ручном режиме
Автоматическая запись макроса – это хорошо, но данный метод имеет множество недостатков. Профессионалы создают макросы вручную. Для этого нужно выучить язык VBA и выполнять следующие действия:
- Перейти во вкладку «Разработчик» и нажать на кнопку «Visual Basic». Она находится в самой левой части панели инструментов в этой вкладке.
- Далее появится окно, которое мы уже знаем по предыдущему разделу.
- Весь код пишется здесь.
Надо отметить, что все детали сегодня рассмотреть не получится, поскольку нужно знать язык VBA для этого. Тем не менее, общий механизм такой. А после того, как вы освоите язык VBA, вы сможете уже учиться и более сложным языкам программирования, поскольку логика одинаковая что для написания макроса, что для написания полноценных компьютерных программ.
Как изменять существующие макросы
Детали о том, как изменять существующие макросы, описывались выше. В целом логика остается той же самой, за тем лишь исключением, что коррекция макросов – это точечные изменения (например, отредактировать ячейку, если случайно была выбрана неправильно). В то время как изменение – более фундаментальное редактирование, включая добавление новых строк кода и так далее.
Заключение
Мы видим, что макросы – это высокоэффективный инструмент, позволяющий автоматизировать огромные массивы работы. Если пользователю приходится выполнять огромное количество однотипных действий, или имеющихся возможностей Excel не хватает, они способны легко и просто исправить ситуацию.
Оцените качество статьи. Нам важно ваше мнение:
Если уже имеете код макроса записанный в рабочей книге или надстройке, можно его запустить и выполнить несколькими способами. Если еще нет кода макроса или вы еще не знаете, как его написать, тогда сначала прочитайте статью: Как написать макрос в Excel на языке программирования VBA.
В данной статье для Вас буде приведет пошаговый пример с картинками и фрагментом простейшего готового кода VBA.
Как выполнить макрос VBA в Excel
Например, самый простой способ запустить макрос для понимания, но сложный для реализации:
- Выберите инструмент: «РАЗРАБОТЧИК»-«Код»-«Макросы».
- В появившемся окне «Макрос» из списка всех в первую очередь доступных макросов для данной рабочей книги Excel выберите любой понравившийся вам и нажмите на кнопку «Выполнить».
Программа макроса выполнить свои функции.
Теперь мы можем двигаться от простого к еще простейшему) Ведь запускать макросы таким способом весьма неудобно. Далее рассмотрим более простые варианты.
Полезный совет! Если вы хотите отредактировать макрос тогда выберите его в списке выше описанного инструмента и нажмите на кнопку «Войти», а не используйте кнопку «Изменить». С помощью кнопки войти вы всегда сможете перейти к исходному коду выбранного макроса. Автоматически откроется редактор Visual Basic именно в том месте где написан код данного макроса. Кнопка «Изменить» к сожалению, не для всех макросов работает одинаково.
Внимание! Макросы, созданные в надстройках Excel, могут быть по умолчанию не доступны в списке диалогового окна «Макрос» в целях политики безопасности. Ведь имена макросов в надстройках Excel обычно скрыты от сторонних пользователей. Но если ввести правильно соответственное значение в поле «Имя макроса:» то все кнопки в диалоговом окне будут активными. А значит готовы к работе с данным макросом из надстройки и пользователь является автором надстройки или доверительным лицом.
Запуск макроса с помощью горячих клавиш
Для каждого макроса в Excel можно присвоить свою комбинацию горячих клавиш. Благодаря этому вы можете вызывать свою макропрограмму при нажатии определенной комбинации клавиш на клавиатуре. Что может быть ее проще?
Чтобы присвоить свою комбинацию клавиш для определенного макроса следует сделать так:
- Снова выберите инструмент: «РАЗРАБОТЧИК»-«Код»-«Макросы».
- В появившемся диалоговом окне «Макрос» выберите желаемую макропрограмму из списка и нажмите на кнопку «Параметры».
- В появившемся диалоговом окне «Параметры макроса» в поле ввода «Сочетание клавиш: CTRL+» введите маленькую или большую латинскую букву. И нажмите на кнопку ОК.
Теперь нажмите свою комбинацию горячих клавиш для вызова выбранного макроса. Как видно теперь вашему макросу присвоена комбинация горячих клавиш для быстрого вызова.
Обратите внимание! В диалоговом окне «Параметры макроса» доступно поле для ввода его описания. Данное описание будет доступно внизу при выборе макроса из списка. Рекомендуем всегда подписывать свои макросы. Такой пользовательский тон этики работы с Excel будет высоко оценен, когда список пополниться десятками макросов.
Полезный совет! Старайтесь не использовать популярные комбинации горячих клавиш для работы с Excel: CTRL+S; CTRL+A; CTRL+T; CTRL+C; CTRL+V; CTRL+SHIFT+L и т.п. Ведь тогда их предназначение будет изменено. В окне «Параметры макроса» так же присутствует возможность использовать в комбинациях клавиш клавишу SHIFT. Как только вы придадите фокус клавиатуры для поля ввода «Сочетание клавиш: CTRL+» и попытаетесь ввести большую букву для комбинации, естественно с использованием клавиши SHIFT на клавиатуре, сразу название поля ввода поменяется на «Сочетание клавиш: CTRL+ SHIFT+».
В результате будет немного длиннее комбинация, которая позволит расширить варианты, чтобы обойти часто используемые горячие клавиши.
Как запустить макрос на панели быстрого доступа
Excel позволяет пользователям запускать макросы с помощью панели быстрого доступа к инструментам. Данная панель по умолчанию находиться в самом верху окна программы.
Чтобы запустить макрос с помощью панели быстрого доступа, требуется сделать так:
- Щелкните на самую последнюю кнопку на панели быстрого доступа (стрелка вниз), чтобы получить доступ к меню «Настроить панель», в котором необходимо выбрать опцию «Другие команды». В результате чего откроется окно «Параметры Excel», к которому можно было получить доступ и другим путем: «ФАЙЛ»-«Параметры»-«Панель быстрого доступа». Или щелкнув правой кнопкой мышки по любой панели Excel на любой закладке и выбрать опцию «Настройка панели быстрого доступа».
- В левом выпадающем списке «Выбрать команду из:» выберите опцию «Макросы».
- В левом списке элементов ниже выберите необходимый макрос и нажмите на кнопку «Добавить». В результате чего в правом списке элементов появиться кнопка для нового инструмента быстрого запуска вашего макроса. Справа от правого списка элементов можно использовать стрелки для настройки положения и порядка расположения кнопок инструментов на панели быстрого доступа. И нажмите ОК.
Теперь на панели быстрого доступа появилась еще одна кнопка для. Достаточно нажать на нее и сразу же запуститься макрос.
Полезный совет! Чтобы изменить внешний вид кнопки для макроса в окне «Параметры Excel»-«Панель быстрого доступа», из правого списка элементов «Настройка панели быстрого доступа» следует выделить макрос и нажать на кнопку «Изменить». Будет предложена небольшая галерея иконок для нового оформления внешнего вида кнопки запуска макроса с панели инструментов.
Главным недостатком размещения кнопки с макросом на панели инструментов является то, что кнопка будет всегда доступна для других файлов, даже когда файл с этим макросом будет закрыт. И если в такие случаи нажать на кнопку запуска макроса, тогда откроется файл где он находиться и только потом выполниться VBA код.
Запуск макроса с помощью кнопки на рабочем листе Excel
Если вы хотите запускать макрос только из рабочей книги Excel, где он содержит свой исходный код? В такие случаи прекрасным решением будет создание кнопки на листе Excel и назначить ей запуск конкретного макроса. Для этого:
- Выберите инструмент: «РАЗРАБОТЧИК»-«Элементы управления»-«Вставить»-«Кнопка (элемент управления формы».
- Выделите курсором мышки место где и как будет вставлена кнопка для запуска макроса.
- В появившемся окне «Назначить макрос объекту» из списка доступным макросов выберите желаемый и нажмите на кнопку ОК.
- Теперь нужно назначить кнопку макросу. Правой кнопкой мышки щелкните по созданной кнопке и в появившемся контекстном меню выберите опцию «Изменить текст». Удалите старый и введите новый текст «Мой макрос».
После создания кнопки можно ее настроить, изменив ее размеры и положение на листе. Для этого снова щелкните правой кнопкой мышки по кнопке, а потом нажмите клавишу Esc на клавиатуре, чтобы скрыть контекстное меню. У кнопки появляться маркеры, с помощью которых можно изменять ее размеры. Наведите курсор мышки на любой маркер на гранях или углах кнопки и удерживая левую клавишу мышки перетягивайте, изменяя таким образом ее размеры. Теперь нажмите на кнопку левой кнопкой мышки и удерживая ее перемещайте кнопку по листу документа Excel в любое другое место. Чтобы затвердить все изменения кнопки сделайте щелчок левой кнопкой мышки в любую область листа (например, по любой ячейке) вне области кнопки.
Теперь если мы нажмем на кнопку левой кнопкой мышки сразу же выполниться назначенный ей код VBA.
Improve Article
Save Article
Like Article
Improve Article
Save Article
Like Article
Excel Macro is a set of actions that can be recorded, saved, used multiple times. This feature saves us a lot of time when dealing with repetitive tasks and huge data sets. We can always make changes to an existing Macro in Excel.
There are two ways to record and run macros:
- Excel Commands
- Excel Visual Basic for Applications(VBA).
1. Copying a Macro Code
We can reuse the existing macro code while creating new Macros. For example, if you have existing macros created using the record function, we can reuse the code to write new macros.
To open the code follow the below steps:
- Select Tools –> Macros –> Visual Basic Editor.
- Copy code from the existing macros(use Command + C) and paste(use Command + V) in the new macro
2. Renaming a Macro
Follow the below steps to rename a Macro in Excel:
- Select Tools –> Macros –> Visual Basic Editor.
- Select name on the left plane.
- Edit the name.
3. Deleting a Macro
Follow the below steps to delete a macro in Excel:
- Select Tools –> Macros –> Macros…
- Select the macro to be deleted.
- Click on the minus(-) symbol at the bottom.
- Select yes to delete the macro.
Like Article
Save Article
Содержание
- Вкладка «Разработчик»
- Вставляем код 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/
Введение
Всем нам приходится — кому реже, кому чаще — повторять одни и те же действия и операции в Excel. Любая офисная работа предполагает некую «рутинную составляющую» — одни и те же еженедельные отчеты, одни и те же действия по обработке поступивших данных, заполнение однообразных таблиц или бланков и т.д. Использование макросов и пользовательских функций позволяет автоматизировать эти операции, перекладывая монотонную однообразную работу на плечи Excel. Другим поводом для использования макросов в вашей работе может стать необходимость добавить в Microsoft Excel недостающие, но нужные вам функции. Например функцию сборки данных с разных листов на один итоговый лист, разнесения данных обратно, вывод суммы прописью и т.д.
Макрос — это запрограммированная последовательность действий (программа, процедура), записанная на языке программирования Visual Basic for Applications (VBA). Мы можем запускать макрос сколько угодно раз, заставляя Excel выполнять последовательность любых нужных нам действий, которые нам не хочется выполнять вручную.
В принципе, существует великое множество языков программирования (Pascal, Fortran, C++, C#, Java, ASP, PHP…), но для всех программ пакета Microsoft Office стандартом является именно встроенный язык VBA. Команды этого языка понимает любое офисное приложение, будь то Excel, Word, Outlook или Access.
Способ 1. Создание макросов в редакторе Visual Basic
Для ввода команд и формирования программы, т.е. создания макроса необходимо открыть специальное окно — редактор программ на VBA, встроенный в Microsoft Excel.
- В старых версиях (Excel 2003 и старше) для этого идем в меню Сервис — Макрос — Редактор Visual Basic (Toos — Macro — Visual Basic Editor).
- В новых версиях (Excel 2007 и новее) для этого нужно сначала отобразить вкладку Разработчик (Developer). Выбираем Файл — Параметры — Настройка ленты (File — Options — Customize Ribbon) и включаем в правой части окна флажок Разработчик (Developer). Теперь на появившейся вкладке нам будут доступны основные инструменты для работы с макросами, в том числе и нужная нам кнопка Редактор Visual Basic (Visual Basic Editor)
:
К сожалению, интерфейс редактора VBA и файлы справки не переводятся компанией Microsoft на русский язык, поэтому с английскими командами в меню и окнах придется смириться:
Макросы (т.е. наборы команд на языке VBA) хранятся в программных модулях. В любой книге Excel мы можем создать любое количество программных модулей и разместить там наши макросы. Один модуль может содержать любое количество макросов. Доступ ко всем модулям осуществляется с помощью окна Project Explorer в левом верхнем углу редактора (если его не видно, нажмите CTRL+R). Программные модули бывают нескольких типов для разных ситуаций:
- Обычные модули — используются в большинстве случаев, когда речь идет о макросах. Для создания такого модуля выберите в меню Insert — Module. В появившееся окно нового пустого модуля можно вводить команды на VBA, набирая их с клавиатуры или копируя их из другого модуля, с этого сайта или еще откуда нибудь:
- Модуль Эта книга — также виден в левом верхнем углу редактора Visual Basic в окне, которое называется Project Explorer. В этот модуль обычно записываются макросы, которые должны выполнятся при наступлении каких-либо событий в книге (открытие или сохранение книги, печать файла и т.п.):
- Модуль листа — доступен через Project Explorer и через контекстное меню листа, т.е. правой кнопкой мыши по ярлычку листа — команда Исходный текст (View Source). Сюда записывают макросы, которые должны выполняться при наступлении определенных событий на листе (изменение данных в ячейках, пересчет листа, копирование или удаление листа и т.д.)
Обычный макрос, введенный в стандартный модуль выглядит примерно так:
Давайте разберем приведенный выше в качестве примера макрос Zamena:
- Любой макрос должен начинаться с оператора Sub, за которым идет имя макроса и список аргументов (входных значений) в скобках. Если аргументов нет, то скобки надо оставить пустыми.
- Любой макрос должен заканчиваться оператором End Sub.
- Все, что находится между Sub и End Sub — тело макроса, т.е. команды, которые будут выполняться при запуске макроса. В данном случае макрос выделяет ячейку заливает выделенных диапазон (Selection) желтым цветом (код = 6) и затем проходит в цикле по всем ячейкам, заменяя формулы на значения. В конце выводится окно сообщения (MsgBox).
С ходу ясно, что вот так сразу, без предварительной подготовки и опыта в программировании вообще и на VBA в частности, сложновато будет сообразить какие именно команды и как надо вводить, чтобы макрос автоматически выполнял все действия, которые, например, Вы делаете для создания еженедельного отчета для руководства компании. Поэтому мы переходим ко второму способу создания макросов, а именно…
Способ 2. Запись макросов макрорекордером
Макрорекордер — это небольшая программа, встроенная в Excel, которая переводит любое действие пользователя на язык программирования VBA и записывает получившуюся команду в программный модуль. Если мы включим макрорекордер на запись, а затем начнем создавать свой еженедельный отчет, то макрорекордер начнет записывать команды вслед за каждым нашим действием и, в итоге, мы получим макрос создающий отчет как если бы он был написан программистом. Такой способ создания макросов не требует знаний пользователя о программировании и VBA и позволяет пользоваться макросами как неким аналогом видеозаписи: включил запись, выполнил операци, перемотал пленку и запустил выполнение тех же действий еще раз. Естественно у такого способа есть свои плюсы и минусы:
- Макрорекордер записывает только те действия, которые выполняются в пределах окна Microsoft Excel. Как только вы закрываете Excel или переключаетесь в другую программу — запись останавливается.
- Макрорекордер может записать только те действия, для которых есть команды меню или кнопки в Excel. Программист же может написать макрос, который делает то, что Excel никогда не умел (сортировку по цвету, например или что-то подобное).
- Если во время записи макроса макрорекордером вы ошиблись — ошибка будет записана. Однако смело можете давить на кнопку отмены последнего действия (Undo) — во время записи макроса макрорекордером она не просто возрвращает Вас в предыдущее состояние, но и стирает последнюю записанную команду на VBA.
Чтобы включить запись необходимо:
- в Excel 2003 и старше — выбрать в меню Сервис — Макрос — Начать запись (Tools — Macro — Record New Macro)
- в Excel 2007 и новее — нажать кнопку Запись макроса (Record macro) на вкладке Разработчик (Developer)
Затем необходимо настроить параметры записываемого макроса в окне Запись макроса:
- Имя макроса — подойдет любое имя на русском или английском языке. Имя должно начинаться с буквы и не содержать пробелов и знаков препинания.
- Сочетание клавиш — будет потом использоваться для быстрого запуска макроса. Если забудете сочетание или вообще его не введете, то макрос можно будет запустить через меню Сервис — Макрос — Макросы — Выполнить (Tools — Macro — Macros — Run) или с помощью кнопки Макросы (Macros) на вкладке Разработчик (Developer) или нажав ALT+F8.
- Сохранить в… — здесь задается место, куда будет сохранен текст макроса, т.е. набор команд на VBA из которых и состоит макрос.:
- Эта книга — макрос сохраняется в модуль текущей книги и, как следствие, будет выполнятся только пока эта книга открыта в Excel
- Новая книга — макрос сохраняется в шаблон, на основе которого создается любая новая пустая книга в Excel, т.е. макрос будет содержаться во всех новых книгах, создаваемых на данном компьютере начиная с текущего момента
- Личная книга макросов — это специальная книга Excel с именем Personal.xls, которая используется как хранилище макросов. Все макросы из Personal.xls загружаются в память при старте Excel и могут быть запущены в любой момент и в любой книге.
После включения записи и выполнения действий, которые необходимо записать, запись можно остановить командой Остановить запись (Stop Recording).
Запуск и редактирование макросов
Управление всеми доступными макросами производится в окне, которое можно открыть с помощью кнопки Макросы (Macros) на вкладке Разработчик (Developer) или — в старых версиях Excel — через меню Сервис — Макрос — Макросы (Tools — Macro — Macros):
- Любой выделенный в списке макрос можно запустить кнопкой Выполнить (Run).
- Кнопка Параметры (Options) позволяет посмотреть и отредактировать сочетание клавиш для быстрого запуска макроса.
- Кнопка Изменить (Edit) открывает редактор Visual Basic (см. выше) и позволяет просмотреть и отредактировать текст макроса на VBA.
Создание кнопки для запуска макросов
Чтобы не запоминать сочетание клавиш для запуска макроса, лучше создать кнопку и назначить ей нужный макрос. Кнопка может быть нескольких типов:
Кнопка на панели инструментов в Excel 2003 и старше
Откройте меню Сервис — Настройка (Tools — Customize) и перейдите на вкладку Команды (Commands). В категории Макросы легко найти веселый желтый «колобок» — Настраиваемую кнопку (Custom button):
Перетащите ее к себе на панель инструментов и затем щелкните по ней правой кнопкой мыши. В контекстом меню можно назначить кнопке макрос, выбрать другой значок и имя:
Кнопка на панели быстрого доступа в Excel 2007 и новее
Щелкните правой кнопкой мыши по панели быстрого доступа в левом верхнем углу окна Excel и выберите команду Настройка панели быстрого доступа (Customise Quick Access Toolbar):
Затем в открывшемся окне выберите категорию Макросы и при помощи кнопки Добавить (Add) перенесите выбранный макрос в правую половину окна, т.е. на панель быстрого доступа:
Кнопка на листе
Этот способ подходит для любой версии Excel. Мы добавим кнопку запуска макроса прямо на рабочий лист, как графический объект. Для этого:
- В Excel 2003 и старше — откройте панель инструментов Формы через меню Вид — Панели инструментов — Формы (View — Toolbars — Forms)
- В Excel 2007 и новее — откройте выпадающий список Вставить (Insert) на вкладке Разработчик (Developer)
Выберите объект Кнопка (Button):
Затем нарисуйте кнопку на листе, удерживая левую кнопку мыши. Автоматически появится окно, где нужно выбрать макрос, который должен запускаться при щелчке по нарисованной кнопке.
Создание пользовательских функций на VBA
Создание пользовательских функций или, как их иногда еще называют, UDF-функций (User Defined Functions) принципиально не отличается от создания макроса в обычном программном модуле. Разница только в том, что макрос выполняет последовательность действий с объектами книги (ячейками, формулами и значениями, листами, диаграммами и т.д.), а пользовательская функция — только с теми значениями, которые мы передадим ей как аргументы (исходные данные для расчета).
Чтобы создать пользовательскую функцию для расчета, например, налога на добавленную стоимость (НДС) откроем редактор VBA, добавим новый модуль через меню Insert — Module и введем туда текст нашей функции:
Обратите внимание, что в отличие от макросов функции имеют заголовок Function вместо Sub и непустой список аргументов (в нашем случае это Summa). После ввода кода наша функция становится доступна в обычном окне Мастера функций (Вставка — Функция) в категории Определенные пользователем (User Defined):
После выбора функции выделяем ячейки с аргументами (с суммой, для которой надо посчитать НДС) как в случае с обычной функцией:
Редактирование макроса
Смотрите также первый макрос лучше со временем вам автоматизации работы в а потом нажмите для макроса в с использованием клавиши лицом. Вас буде приведет Чтобы возобновить обновление для быстрого вызова на которые макрос командой сайта office-guru.ruAlt будут создаваться абсолютные,ИзменитьПримечание: записывать после нажатия придется создавать много Excel и создания клавишу Esc на
окне «Параметры Excel»-«Панель SHIFT на клавиатуре, пошаговый пример с
после выполнения макроса, макроса. В нашем будет запускаться. ПервойИсточник: http://www.excelfunctions.net/Record-A-Macro.htmlи
Изменение параметров безопасности макросов
ссылки (подробнее обМакрос2, чтобы открыть редактор
-
Мы стараемся как клавиш должны быть макросов. При выборе макросов. клавиатуре, чтобы скрыть быстрого доступа», из сразу название поля
-
Для каждого макроса в картинками и фрагментом в его конце случае, это Ctrl+М. клавишей обязательно должнаПеревел: Антон АндроновF8 этих двух типахи так далее. Visual Basic.
можно оперативнее обеспечивать Ctrl + Home. в диалоговом окнеМакросы – это внутренние контекстное меню. У правого списка элементов ввода поменяется на
Редактирование макроса
-
Excel можно присвоить простейшего готового кода пишем команду «Application.ScreenUpdating Набираем данную комбинацию быть клавиша Ctrl,Автор: Антон Андронов);
-
ссылок можно узнатьЗдесь же можно назначитьСовет: вас актуальными справочными
-
Пример: Представьте себе, что их легче найти приложения, которые берут кнопки появляться маркеры,
«Настройка панели быстрого «Сочетание клавиш: CTRL+ свою комбинацию горячих VBA. = True» на клавиатуре, после а вторую клавишуМакросы программы Microsoft ExcelВ появившемся списке макросов в статьях, посвящённых
support.office.com
Запись макроса в Excel
сочетание клавиш для Для получения справки во материалами на вашем каждый месяц вы с короткими и на себя всю с помощью которых доступа» следует выделить SHIFT+». клавиш. Благодаря этомуНапример, самый простой способДобавим также команду «Application.Calculation чего макрос запускается. пользователь устанавливает самостоятельно. позволяют значительно ускорить выберите тот, который
теме ссылок на запуска записанного макроса. время работы в языке. Эта страница получаете десятки таблиц содержательными названиями. Система рутинную работу, облегчая можно изменять ее макрос и нажатьВ результате будет немного вы можете вызывать запустить макрос для = xlCalculationManual» вначалеКак видим, макрос выполнил Например, мы, в
переведена автоматически, поэтому из всех филиалов. VBA предоставляет вам жизнь пользователю. Каждый размеры. Наведите курсор
на кнопку «Изменить». длиннее комбинация, которая свою макропрограмму при понимания, но сложный кода, а в в точности все качестве примера, установили в этом табличномНажмите кнопкуПараметр способом будет значительно в меню ее текст может От вас требуется возможность указать описание пользователь может создать мышки на любой Будет предложена небольшая позволит расширить варианты,
нажатии определенной комбинации для реализации: конце кода дописываем те действия, которые клавишу М. редакторе. Это достигаетсяВОтносительные ссылки проще. Однако будьтеСправка содержать неточности и организовать данные и к имени. Обязательно макрос без знания маркер на гранях
галерея иконок для чтобы обойти часто клавиш на клавиатуре.Выберите инструмент: «РАЗРАБОТЧИК»-«Код»-«Макросы». «Application.Calculation = xlCalculationAutomatic». были записаны ранее.Далее, нужно определить, где путем автоматизации повторяющихсяыполнить(Use Relative References) осторожны! Если случайновыберите команду грамматические ошибки. Для рассчитать показатели, чтобы используйте ее. языков программирования. Для
или углах кнопки нового оформления внешнего используемые горячие клавиши. Что может бытьВ появившемся окне «Макрос» Этим мы вначалеДля того, чтобы отредактировать будет храниться макрос. действий, записанных в
и удерживая левую вида кнопки запускаExcel позволяет пользователям запускать ее проще? из списка всех макроса отключаем автоматический макрос, снова жмем По умолчанию, он специальный код. Давайте
Параметр «Относительные ссылки»
Инструмент Excel для записиМакросы одно из предустановленныхили нажмите клавишу эта статья была ежемесячный отчет. Вы начинаться с букв который запускается с клавишу мышки перетягивайте, макроса с панели макросы с помощьюЧтобы присвоить свою комбинацию в первую очередь пересчет результата после на кнопку «Макросы». будет храниться в разберем, как создать
макросов – это(Macros) на вкладке клавиатурных сочетаний Excel F1. вам полезна. Просим можете записать макрос и не может помощью кнопки «Запись изменяя таким образом инструментов. панели быстрого доступа
Просмотр кода VBA
для выполнения всех содержать пробелы, символы макроса». ее размеры. ТеперьГлавным недостатком размещения кнопки к инструментам. Данная макроса следует сделать данной рабочей книги а в конце выбираем нужный макрос, (файле), но при Excel, и как
создавать код VBA,(View). В ExcelCtrl+C нужно повторить несколько секунд и сообщить, этих функций, в или знаки препинания.В этом режиме все нажмите на кнопку с макросом на панель по умолчанию так:
Запуск записанного макроса в Excel
Excel выберите любой макроса – включаем. и кликаем по желании можно установить их можно отредактировать. но подходит он 2003 этот параметр), то в дальнейшем раз, можно записать помогла ли она том числе открытие После первого символа, действия пользователя макрорекодер левой кнопкой мышки
- панели инструментов является находиться в самомСнова выберите инструмент: «РАЗРАБОТЧИК»-«Код»-«Макросы». понравившийся вам и Таким образом, Excel кнопке «Изменить». хранение в новой
- Скачать последнюю версию только для создания расположен на плавающей
- макрос может быть в виде программного вам, с помощью и соединение всех
Ограничения
вы можете использовать в Excel записывает, и удерживая ее то, что кнопка верху окна программы.В появившемся диалоговом окне нажмите на кнопку подсчитает результат толькоОткрывается Microsoft Visual Basic книге, или в Excel самых простых макросов.
- панели инструментов.
- запущен случайно. кода и сохранить кнопок внизу страницы.
- листов в одну
- больше букв, цифр переводя на язык
перемещайте кнопку по будет всегда доступнаЧтобы запустить макрос с «Макрос» выберите желаемую «Выполнить». один раз, а (VBE) – среда, отдельной книге макросов.Макрос можно записать двумя Дело в том,ПараметрКогда макросу дано подходящее как макрос. Если Для удобства также комбинированную таблицу. или нижнее подчеркивание, программирования VBA-код в листу документа Excel для других файлов, помощью панели быстрого макропрограмму из списка
Программа макроса выполнить свои не будет его где происходит редактирование Мы оставим значение способами: что этот инструментОтносительные ссылки имя и (при последовательность действий записана приводим ссылку наИспользуйте кнопки со стрелками но максимальная длина автоматическом режиме. После в любое другое даже когда файл доступа, требуется сделать и нажмите на функции.
постоянно пересчитывать, чем макросов.
по умолчанию.
автоматически;
не умеет использовать
office-guru.ru
Создание макросов в программе Microsoft Excel
(Use Relative References) желании) задано сочетание в макрос, то оригинал (на английском для управления курсором имени составляет 80 завершения записи мы место. Чтобы затвердить с этим макросом так: кнопку «Параметры».Теперь мы можем двигаться
сэкономит время.Запись каждого макроса начинается
Способы записи макросов
В самом нижнем полевручную.
- многие возможности VBA,
- в современных версиях
клавиш, нажмите выполнять её можно языке) . (Ctrl + Up, символов. получаем готовую программу, все изменения кнопки будет закрыт. ИЩелкните на самую последнююВ появившемся диалоговом окне от простого кПродвинутые пользователи могут выполнять с команды Sub,
настройки макросов можноВоспользовавшись первым вариантом, вы такие как: Excel:ОК снова и снова,Чтобы отредактировать макрос, который и т.п.). Позиционируйте
Автоматическая запись макросов
Абсолютный адрес ячейки – которая сама выполняет сделайте щелчок левой если в такие
кнопку на панели «Параметры макроса» в еще простейшему) Ведь не только редактирование а заканчивается командой оставить любое подходящее
просто записываете определенныеКонстанты, переменные и массивы;Параметр, чтобы запустить запись просто запуская этот вложен в книге курсор, так чтобы это точное местонахождение те действия, которые кнопкой мышки в случаи нажать на быстрого доступа (стрелка поле ввода «Сочетание запускать макросы таким
и оптимизацию записанных End Sub. Сразу по контексту описание действия в программеВыраженияОтносительные ссылки макроса. С этого макрос. Это гораздо Microsoft Excel, используйте вы могли добавить, курсора, когда информация выполнял пользователь при
любую область листа кнопку запуска макроса, вниз), чтобы получить клавиш: CTRL+» введите способом весьма неудобно. макросов, но и же после команды данного макроса. Но, Microsoft Excel, которыеIF(Use Relative References) момента каждое действие
эффективнее, чем выполнять редактор Visual Basic. изменить или удалить о его размещении записи. (например, по любой тогда откроется файл
доступ к меню маленькую или большую Далее рассмотрим более
записывать код макросов Sub указывается имя это делать не выполняете в данный; на плавающей панели (ввод данных, выделение раз за разом
Важно: данные внутри таблицы записывается в макро-адресаКак записать готовый макрос
ячейке) вне области где он находиться «Настроить панель», в латинскую букву. И простые варианты. с нуля. Для
Запуск макроса
макроса. Оператор «Range(«…»).Select» обязательно. момент времени. Потом,Циклы; инструментов в Excel ячеек, изменение формата одни и те Перед началом работы с
по мере необходимости. с жесткой привязкой в Excel? Очень кнопки. и только потом котором необходимо выбрать нажмите на кнопку
Полезный совет! Если вы того, чтобы приступить указывает выбор ячейки.Когда все настройки выполнены, можно будет воспроизвестиОбращения к встроенным функциям 2003: ячеек, пролистывание листа же действия вручную. макросами, необходимо включитьИспользование мыши для навигации к конкретной ячейке
просто:Теперь если мы нажмем выполниться VBA код. опцию «Другие команды».
Редактирование макроса
ОК. хотите отредактировать макрос к этому, нужно Например, при команде жмем на кнопку эту запись. Данный или внешним процедурам.
Код VBA, записанный в и так далее)Чтобы записать макрос, нужно вкладки «Разработчик». Подробнее
является более сложным в момент записи.На вкладке «Разработчик» нажимаем на кнопку левойЕсли вы хотите запускать В результате чегоТеперь нажмите свою комбинацию тогда выберите его нажать на кнопку «Range(«C4»).Select» выбирается ячейка «OK». способ очень легкий,Как уже было сказано, макрос, размещается в будет записано в
включить режим записи. читайте вкладку «Разработчик». и не так
Абсолютные адреса ограничивают
кнопку «Запись макроса».
кнопкой мышки сразу макрос только из откроется окно «Параметры
горячих клавиш для в списке выше «Visual Basic», которая C4. Оператор «ActiveCell.FormulaR1C1»После этого, все ваши и не требует инструмент записи макросов модуле, который можно макрос и сохранено Это можно сделать
Для редактирования и запуска надежным в момент возможности макроса, еслиВ появившимся диалоговом окне же выполниться назначенный рабочей книги Excel, Excel», к которому вызова выбранного макроса. описанного инструмента и расположена в самом используется для записи действия в данной знания кода, но может создавать только просмотреть в редакторе в виде кода на вкладке макросов требуется временно записи. Когда дело будут добавляться / заполняем параметры макроса.
ей код VBA. где он содержит можно было получить Как видно теперь нажмите на кнопку начале ленты разработчика. действий в формулах, книге (файле) Excel применение его на процедуры Visual Basic. Редактор VBA.Вид включить их. доходит до макросов, удаляться данные на И нажимаем «ОК».
Написание кода макроса с нуля
Макросы позволяют существенно расширить свой исходный код? доступ и другим вашему макросу присвоена «Войти», а неПосле этого, открывается знакомое и для других будут записываться в практике довольно ограничено.Sub можно запустить нажатиемПри включении режима записи
(View) в разделеНа вкладке использовать мышь лучше
листе Excel илиПосле завершения нажимаем на
возможности в программе В такие случаи путем: «ФАЙЛ»-«Параметры»-«Панель быстрого комбинация горячих клавиш используйте кнопку «Изменить». нам окно редактора расчетов. макрос до техРучная запись макросов, наоборот,, так как неAlt+F11 макроса в строкеМакросыРазработчик только для вызова
список данных будет
lumpics.ru
Как запустить макрос в Excel разными способами
кнопку «Остановить запись», Excel. Они автоматизируют прекрасным решением будет доступа». Или щелкнув для быстрого вызова. С помощью кнопки VBE.Попытаемся немного изменить макрос. пор, пока вы требует знаний программирования, может возвращать значение.(одновременное нажатие клавиш состояния (внизу слева)(Macros) или вв группе
меню. становиться больше. Относительные после чего макрос рабочие процессы и создание кнопки на правой кнопкой мышки
Как выполнить макрос VBA в Excel
Обратите внимание! В диалоговом войти вы всегдаПрограммист пишет там код Для этого, в
- сами не остановите
- так как код ПроцедурамAlt появляется кнопка менюКодДержите ваши макросы для средства не привязывают будет автоматически сохранен.
берут большую часть листе Excel и
по любой панели окне «Параметры макроса» сможете перейти к макроса вручную. макрос допишем выражение: запись. набирается вручную с
SubиСтопСервиснажмите кнопку небольших специфичных задач. курсор к конкретномуДля выполнения или редактирования рутинной работы пользователя назначить ей запуск Excel на любой доступно поле для исходному коду выбранногоКак видим, макросы вRange(«C3»).SelectДля примера, запишем простейшее клавиатуры. Но, грамотнонельзя передавать какие-либоF11. В Excel 2003(Tools), если у
Безопасность макросов Чем больше программный адресу ячейки. записанного макроса нажимаем на себя. Просто конкретного макроса. Для закладке и выбрать ввода его описания. макроса. Автоматически откроется Microsoft Excel могутActiveCell.FormulaR1C1 = «11» арифметическое действие: сложение написанный таким образом аргументы, хотя они). эта кнопка находится Вас Excel 2003.. код в макросе,По умолчанию в Excel на кнопку «Макросы» нужно научится пользоваться этого:
опцию «Настройка панели
Запуск макроса с помощью горячих клавиш
Данное описание будет редактор Visual Basic значительно ускорить выполнениеВыражение «ActiveCell.FormulaR1C1 = «=R[-3]C+R[-2]C+R[-1]C»» содержимого трёх ячеек код, может значительно могут распознавать текущиеКод находится в одном на плавающей панели Ниже на картинках
В разделе тем медленнее он включен режим «Абсолют», (или комбинацию клавиш
- макросами и производительность
- Выберите инструмент: «РАЗРАБОТЧИК»-«Элементы управления»-«Вставить»-«Кнопка быстрого доступа». доступно внизу при именно в том рутинных и однообразных
- заменим на «ActiveCell.FormulaR1C1 (=C4+C5+C6). ускорить выполнение процессов. активные ячейки, диапазоны из модулей, которые инструментов. показано, как выглядятПараметры макросов
работает, особенно если но вы можете ALT+F8). Появится окно труда возрастет в (элемент управления формы».В левом выпадающем списке выборе макроса из
месте где написан процессов. Но, в = «= R[-4]C+R[-3]C+R[-2]C+R[-1]C»».После этого, жмем наПрежде, чем начать автоматическую или листы, а расположены в окнеКнопка эти меню.выберите параметр это требуется для изменить его, включив со списком записанных десятки раз!
Выделите курсором мышки место «Выбрать команду из:» списка. Рекомендуем всегда код данного макроса. большинстве случаев, дляЗакрываем редактор, и запускаем кнопку «Остановить запись». запись макросов, нужно также значения, хранящиесяProjectСтопЗапись макроса в современныхВключить все макросы (не выполнения многих функций кнопку «Относительные ссылки» макросов и кнопкамиВам даже не нужно где и как выберите опцию «Макросы». подписывать свои макросы. Кнопка «Изменить» к этого больше подходят макрос, как и Эта кнопка преобразовалась включить макросы в в ячейках книги.
слева от областив строке состояния версиях Excel (2007 рекомендуется, возможен запуск или рассчитать много
Как запустить макрос на панели быстрого доступа
расположенную ниже под для управления ими. быть программистом и будет вставлена кнопкаВ левом списке элементов Такой пользовательский тон сожалению, не для
макросы, код которых в прошлый раз. из кнопки «Запись программе Microsoft Excel.
- Кроме того, нужно редактирования. Если дважды в Excel 2007 и новее): опасной программы) формул в большой кнопкой «Запись макроса»С помощью макропрограмм можно знать язык программирования для запуска макроса. ниже выберите необходимый этики работы с всех макросов работает написан вручную, а Как видим, вследствие макроса», после включенияДалее, переходим во вкладку сказать, что сгенерированный кликнуть по и более новыхЗапись макроса в Excel
- , а затем нажмите электронной таблице. на панели инструментов
- увеличить производительность труда «VBA» чтобы создаватьВ появившемся окне «Назначить макрос и нажмите Excel будет высоко одинаково. не автоматически записанные введенных нами изменений записи. «Разработчик». Кликаем по код не всегдаModule1 версиях: 2003: кнопкуЕсли вы запустите каждый вкладки «Разработчик»:
пользователя в десятки свои макро-программы с макрос объекту» из на кнопку «Добавить». оценен, когда списокВнимание! Макросы, созданные в
действия. Кроме того, была добавлена ещёДля того, чтобы проверить, кнопке «Запись макроса», является оптимальным дляв окнеПанель инструментов записи макросаДалее откроется диалоговое окноОК процесс отдельно, выАбсолютный отсчет ячеек, всегда раз. Но чтобы помощью инструмента записи списка доступным макросов В результате чего пополниться десятками макросов.
надстройках Excel, могут код макроса можно одна ячейка с как работает записанный которая расположена на рассматриваемой последовательности действий.Project в Excel 2003:Запись макроса. можете быстро просмотреть ведется с исходного использовать запись пользовательских макросов. выберите желаемый и в правом списке
Запуск макроса с помощью кнопки на рабочем листе Excel
Полезный совет! Старайтесь не быть по умолчанию оптимизировать через редактор данными. Она также макрос, кликаем в ленте в блокеАвтоматическое создание кода VBA, то справа появитсяНажмите(Record Macro), какПредупреждение: результаты для проверки
- положения (адрес ячейки макросов на все
- Сначала надо включить панель нажмите на кнопку элементов появиться кнопка использовать популярные комбинации
- не доступны в VBE для ускорения была включена в том же блоке инструментов «Код». в Excel отлично
- код записанного макроса.Стоп показано на картинке Для защиты от запуска точности их выполнения. А1) – до 100% следует соблюдать разработчика. Для этого ОК. для нового инструмента
горячих клавиш для списке диалогового окна процесса выполнения задачи. расчет общей суммы. инструментов «Код» поОткрывается окно настройки записи работает для простыхЗаписывая макрос, Excel всегда, когда выполните все ниже: потенциально опасных программЕсли нельзя разбить длинный адреса курсора с простые правила, которые в меню «Файл»Теперь нужно назначить кнопку быстрого запуска вашего работы с Excel: «Макрос» в целяхАвтор: Максим ТютюшевВ случае, если макрос кнопке «Макросы», или макроса. Тут можно макросов, но если создаёт процедуру действия, которые должныЗдесь, по желанию, можно после окончания работы макрос на короткие вашими данными. Если существенно влияют на открываем группу опций макросу. Правой кнопкой макроса. Справа от CTRL+S; CTRL+A; CTRL+T; политики безопасности. Ведь
Если уже имеете код слишком большой, его жмем сочетание клавиш указать любое имя нужно построить более
exceltable.com
Как работать с макросами в Excel 2010 без программирования кода
Sub быть записаны в ввести имя и с макросами рекомендуется приложения, а требуется вы сохранили ваш их качество в «Параметры». В появившемся мышки щелкните по правого списка элементов CTRL+C; CTRL+V; CTRL+SHIFT+L
имена макросов в макроса записанный в выполнение может занять Alt+F8. макроса, если установленное сложный макрос, то(не
макрос. Теперь код описание для макроса. вернуть настройки, отключающие проверить его функциональность макрос в книге момент записи и окне «Параметры Excel» созданной кнопке и можно использовать стрелки и т.п. Ведь надстройках Excel обычно рабочей книге или значительное время. Но,После этого, открывается окно по умолчанию вас
придётся научиться писатьFunction записанного макроса сохранён Рекомендуется давать макросу все макросы. пошагово («отладкой»). Нажмите личных макросов (рекомендуется
Применение VBA и макросов в Microsoft Excel
эффективность при выполнении. открываем группу «Настройка в появившемся контекстном для настройки положения тогда их предназначение скрыты от сторонних надстройке, можно его путем внесения ручного со списком записанных не устраивает. Главное, код VBA самостоятельно.). Если при создании
в модуле редактора такое имя, чтобы,На вкладке клавишу F8 каждый так и делать), ленты». Обратите внимание меню выберите опцию и порядка расположения будет изменено. В пользователей. Но если запустить и выполнить
изменения в код, макросов. Ищем макрос, чтобы имя это
- Тем не менее, макроса к нему
- Visual Basic. вернувшись к немуРазработчик
- раз, когда вы то вы можете5 простых советов, которые на правую колонку
- «Изменить текст». Удалите кнопок инструментов на окне «Параметры макроса» ввести правильно соответственное несколькими способами. Если мы можем ускорить который мы записали, начиналось с буквы,
запись макроса в было прикреплено сочетаниеЕсли перед началом записи спустя некоторое время,в группе хотите перейти к использовать свою программу помогут в создании настроек под аналогичным старый и введите панели быстрого доступа. так же присутствует
значение в поле
Как работать с макросами в Excel
еще нет кода процесс. Добавляем команду выделяем его, и а не с Excel – это клавиш, то именно макроса включить параметр можно было без
1 Правильные имена в макросах.
Код следующему шагу выполнения на других листах макросов без программирования. названием «Настройка ленты». новый текст «Мой И нажмите ОК. возможность использовать в «Имя макроса:» то макроса или вы «Application.ScreenUpdating = False». жмем на кнопку цифры. Также, в отличны инструмент, при
с его помощьюОтносительные ссылки труда понять, длянажмите кнопку задачи. Процесс выполнения с аналогичными данными. Воспользуйтесь этими простыми В ней следует макрос».Теперь на панели быстрого комбинациях клавиш клавишу все кнопки в
2 Используйте относительные (не абсолютные) адреса ячеек
еще не знаете, Она позволит сохранить «Выполнить». названии не должно помощи которого можно запустить макрос будет(Use Relative References), чего этот макросМакросы программы останавливается, когда Независимо от того, советами, которые позволяют отметить галочкой опциюПосле создания кнопки можно доступа появилась еще SHIFT. Как только диалоговом окне будут как его написать,
вычислительные мощности, аМожно поступить ещё проще, быть пробелов. Мы создавать первоначальный код, проще всего. Существует то все ссылки нужен. Так или. он видит ошибку.
3 Всегда начинайте запись с курсором в A1
где ваш курсор быстро и просто «Разработчик» как показано ее настроить, изменив одна кнопка для. вы придадите фокус активными. А значит тогда сначала прочитайте значит ускорить работу. и не вызывать оставили название по а в дальнейшем и другой способ в записываемом макросе иначе, если неВ поле Вы можете исправить позиционируется, когда вы создавать качественные макропрограммы ниже на рисунке: ее размеры и Достаточно нажать на клавиатуры для поля готовы к работе статью: Как написать
Это достигается путем даже окно выбора умолчанию – «Макрос1». исправлять или вставлять запустить макрос: будут создаваться как ввести для макросаИмя макроса ошибку, которую легко начинаете запись макроса! автоматически:Теперь нам доступна на положение на листе. нее и сразу ввода «Сочетание клавиш: с данным макросом
4 Всегда перемещаться с клавиш направления в момент записи макроса
макрос в Excel отказа от обновления макросов. Мы жеТут же, при желании, его в болееНажмите относительные. Если же имя, то Excelщелкните макрос, который
найти с помощью Даже если онПрисваивайте макросам короткие, но ленте новая закладка Для этого снова же запуститься макрос. CTRL+» и попытаетесь из надстройки и на языке программирования
5 Создавайте макросы для конкретных небольших задач
экрана во время помним, что записали можно установить сочетание сложные макросы.Alt+F8 параметр выключен, то автоматически назовёт его нужно отредактировать. «отладки» или записать уже находится в содержательные имена. Когда
«Разработчик» со всеми щелкните правой кнопкойПолезный совет! Чтобы изменить ввести большую букву пользователь является автором
VBA. выполнения вычислительных действий. сочетание «горячих клавиш» клавиш, при нажатииУрок подготовлен для Вас(одновременно нажмите клавиши при записи макросаМакрос1Нажмите кнопку по-новому. ячейке A1, ваш вы войдете вкус, своими инструментами для мышки по кнопке, внешний вид кнопки для комбинации, естественно надстройки или доверительным
exceltable.com
В данной статье для
Содержание
- Способы записи макросов в Excel
- Вариант 1: Автоматическая запись макросов
- Запуск макроса
- Редактирование макроса
- Вариант 2: Написание кода макроса с нуля
- Вопросы и ответы
Макросы в Microsoft Excel позволяют значительно ускорить работу с документами в этом табличном редакторе. Эта возможность достигается путем автоматизации повторяющихся действий, записанных в специальный код. Давайте разберем, как создать макросы в программе и как их можно отредактировать.
Макрос записывается двумя способами: автоматически и вручную. Воспользовавшись первым вариантом, вы просто записываете определенные действия в Microsoft Excel, которые выполняете в данный момент времени. Потом можно будет воспроизвести эту запись. Такой метод очень легкий и не требует знания кода, но применение его на практике довольно ограничено. Ручная запись, наоборот, требует знаний программирования, так как код набирается вручную с клавиатуры. Однако грамотно написанный таким образом код может значительно ускорить выполнение процессов.
Вариант 1: Автоматическая запись макросов
Прежде чем начать автоматическую запись макросов, нужно включить их в программе Microsoft Excel. Для этого воспользуйтесь нашим отдельным материалом.
Подробнее: Включение и отключение макросов в Microsoft Excel
Когда все готово, приступаем к записи.
- Перейдите на вкладку «Разработчик». Кликните по кнопке «Запись макроса», которая расположена на ленте в блоке инструментов «Код».
- Открывается окно настройки записи макроса. Тут можно указать любое имя для него, если установленное по умолчанию вас не устраивает. Главное, чтобы имя это начиналось с буквы, а не с цифры, а также в названии не должно быть пробелов. Мы оставили название по умолчанию – «Макрос1».
- Тут же при желании можно установить сочетание клавиш, при нажатии на которые макрос будет запускаться. Первой клавишей обязательно должна быть Ctrl, а вторую пользователь устанавливает самостоятельно. Мы в качестве примера установили клавишу М.
- Далее следует определить, где будет храниться макрос. По умолчанию он расположен в этой же книге (файле), но при желании можно установить хранение в новой книге или в отдельной книге макросов. Мы оставим значение по умолчанию.
- В самом нижнем поле можно оставить любое подходящее по контексту описание макроса, но это делать не обязательно. Когда все настройки выполнены, жмем на кнопку «OK».
- После этого все ваши действия в данной книге (файле) Excel будут записываться в макрос до тех пор, пока вы сами не остановите запись.
- Для примера запишем простейшее арифметическое действие: сложение содержимого трех ячеек (=C4+C5+C6).
- Когда алгоритм был выполнен, щелкаем на кнопку «Остановить запись». Эта кнопка преобразовалась из кнопки «Запись макроса» после включения записи.
Запуск макроса
Для проверки того, как работает записанный макрос, выполним несколько простых действий.
- Кликаем в том же блоке инструментов «Код» по кнопке «Макросы» или жмем сочетание клавиш Alt + F8.
- После этого открывается окно со списком записанных макросов. Ищем макрос, который мы записали, выделяем его и кликаем на кнопку «Выполнить».
- Можно поступить еще проще и не вызывать даже окно выбора макросов, так как на первом этапе мы задали сочетание клавиш для быстрого вызова макроса. В нашем случае это Ctrl + М. Жмем данную комбинацию на клавиатуре, после чего он запускается.
- Как видим, он выполнил в точности все те действия, которые были записаны ранее.
Редактирование макроса
Естественно, при желании вы можете корректировать созданный макрос, чтобы всегда поддерживать его в актуальном состоянии и исправлять некоторые неточности, допущенные во время процесса записи.
- Снова щелкаем на кнопку «Макросы». В открывшемся окне выбираем нужный и кликаем по кнопке «Изменить».
- Открывается «Microsoft Visual Basic» (VBE) – среда, где происходит их редактирование.
- Запись каждого макроса начинается с команды
Sub
, а заканчивается командойEnd Sub
. Сразу же послеSub
указывается имя макроса. ОператорRange("…").Select
указывает выбор ячейки. Например, при команде «Range(«C4»).Select» выбирается ячейка «C4». ОператорActiveCell.FormulaR1C1
используется для записи действий в формулах и других расчетов. - Попытаемся немного изменить макрос, дописав выражение:
Range("C3").Select
ActiveCell.FormulaR1C1 = "11" - Выражение
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"
. - Закрываем редактор и запускаем макрос. Как видим, вследствие введенных нами изменений была добавлена дополнительная ячейка с данными. Она также была включена в расчет общей суммы.
- В случае если макрос слишком большой, его выполнение может занять значительное время, но внесением ручного изменения в код мы можем ускорить процесс. Добавляем команду
Application.ScreenUpdating = False
. Она позволит сохранить вычислительные мощности, а значит, ускорить работу. Это достигается путем отказа от обновления экрана во время выполнения вычислительных действий. Чтобы возобновить обновление после выполнения макроса, в его конце пишем командуApplication.ScreenUpdating = True
. - Добавим также команду
Application.Calculation = xlCalculationManual
в начало кода, а в его конец дописываемApplication.Calculation = xlCalculationAutomatic
. Этим мы сначала отключаем автоматический пересчет результата после каждого изменения ячеек, а в конце макроса – включаем. Таким образом, Excel подсчитает результат только один раз, а не будет его постоянно пересчитывать, чем сэкономит время. - Чтобы приступить к этому, нужно нажать на кнопку «Visual Basic», которая расположена в самом начале ленты разработчика.
- Откроется окно редактора VBE, которое уже было продемонстрировано в предыдущем варианте.
- Программист пишет там код макроса вручную.
Вариант 2: Написание кода макроса с нуля
Продвинутые пользователи могут выполнять не только редактирование и оптимизацию записанных макросов, но и записывать их код с нуля.
Как видим, макросы в Microsoft Excel могут значительно упростить выполнение рутинных и однообразных процессов. Тем не менее в большинстве случаев для этого больше подходят макросы, код которых написан вручную, а не автоматически записанные действия. Кроме того, его код можно оптимизировать через редактор VBE для ускорения процесса выполнения задачи.
Еще статьи по данной теме:
Помогла ли Вам статья?
Макрос – это одна из важнейших составляющих офисного приложения Excel, позволяющая без знания языка программирования создавать специальные команды, запуская которые удаётся быстро выполнять операции, предусмотренные производственными задачами.
Макрокоманды позволяют выполнять некоторые действия на полном автомате
Макросы значительно сокращают время, необходимое на выполнение однотипных заданий. Именно это объясняет такую высокую заинтересованность в их использовании со стороны большинства пользователей. Однако при первом запуске Excel, запустить макрос не удастся, поскольку по умолчанию функция воспроизведения макрокоманд отключена.
Желая повысить эффективность своей работы, многие стараются изучить информацию, как писать макросы в Excel, однако специалисты настоятельно рекомендуют первоначально разобраться, как включить макросы в Excel.
Отображение в Office 2003
В Excel макрокоманды включаются несложно, но первоначально следует пользователю выяснить, какой офис у него инсталлирован на компьютере, поскольку порядок действий, как запустить макрос в Excel в разных офисах немного отличается.
Office 2003
Чтобы включить макросы в Excel 2003, первоначально потребуется открыть непосредственно сам табличный редактор. Далее на самой верхней панели, среди предложенных инструментов меню, необходимо найти «Сервис», кликнув по которому, откроется контекстное меню, в перечне которого нужно найти пункт «Макрос».
Наведя курсор мышки на эту строку, открывается новое контекстное меню, среди которого выбор следует сделать на строке «Безопасность». Кликнув по нему, на экране отобразится диалоговое окно, предлагающее пользователю выбрать уровень безопасности. По умолчанию чаще всего переключатель установлен на высоком или очень высоком уровне безопасности, при котором макрокоманды просто так не запускаются.
Переставив переключатель в позицию среднего или низкого уровня безопасности, пользователю удастся впоследствии писать, запускать и редактировать макрокоманды.
Чтобы все произведённые изменения вступили в силу, необходимо перезапустить Excel, просто закрыв и сразу же его открыв.
Ознакомившись с информацией, как создать макрос в Excel, пользователь сможет практически сразу приступить к созданию команд, в которых так часто нуждается. Автоматическое выполнение функциональных команд сэкономит рабочее время и не спровоцирует усталость вследствие выполнения однообразной работы.
Отображение в Microsoft Office 2007 и 2010
Включить макрокоманды можно и в табличном редакторе нового поколения, только придётся воспользоваться несколько иными инструкциями, потому что панель инструментов, расположение меню офисов различных лет выпуска отличаются между собой.
Office 2007
По сути, включить макрокоманды в табличном редакторе офиса 2007 можно таким же самым способом, как и в Excel 2003. Отличие заключается лишь в том, что для открытия диалогового окна «Параметры макросов» приходится проделать несколько иной путь.
В офисе 2007 первоначально необходимо зайти в Меню, расположенное в верхнем левом углу, после чего сразу же осуществить переход в «Параметры Excel».
Вслед за этим на экране компьютера появится диалоговое окно «Центр управления безопасностью», визуально изучив которое можно без труда обнаружить строку «Параметры центра управления безопасностью», по которой нужно сразу же кликнуть левой клавишей мышки.
После осуществления последовательных переходов на экране отобразится подменю «Параметры макросов», предоставляющее возможность вносить изменения в процесс отображения, написания и запуска различных макрокоманд.
В новом открывшемся окне переключатель нужно установить на последней строке «Включить все макросы». Система, конечно, предупредит, что такие действия могут позволить осуществлять запуск и опасных программ. Однако если пользователь уверен в своих действиях, на компьютере установлена надёжная противовирусная защита, то опасаться такого предупреждения нет смысла.
Также включить и отключить макрокоманды в Excel 2007 можно более простым способом, ничем не отличающимся от включения их в Excel 2010.
Office 2010
Включить и отключить макрокоманды в Excel 2010 можно, воспользовавшись меню «Разработчик». Однако данное меню не всегда активно в табличном редакторе 2010, особенно в момент первого запуска офисного приложения, поэтому первоначально следует совершить определённые действия, чтобы создать данное меню на панели инструментов. Специалисты рекомендуют выносить на панель инструментов подменю, к которым приходится достаточно часто обращаться в процессе выполнения различных задач.
Для этого необходимо кликнуть по меню «Файл», далее перейти в «Параметры», а затем в «Настройку ленты». С правой стороны будет находиться список, среди предложенных вариантов пользователь может выбрать те меню, в которых он наиболее часто будет нуждаться, а потому желает, чтобы они постоянно были отображены на панели инструментов. В частности, в этот момент необходимо установить переключатель на строке «Разработчик» и нажать «Ок». После этого данное меню отобразится в верхней части Excel 2010.
Теперь включить и отключить макрокоманды будет несложно, достаточно будет навести курсор на «Разработчик», далее перейти на строку «Безопасность макросов», после чего откроется уже знакомое меню «Параметры макросов», в котором выбирается последний пункт.
Проделав все вышеописанные действия по включению макрокоманд, у пользователя уже не возникнут вопросы, как отключить макросы в Excel 2010, поскольку все шаги остаются такими же, только меняется их последовательность на обратную.
Чтобы создать собственную автоматическую подпрограмму, пользователь должен освоить некоторые азы программирования. Однако если это совершенно невозможно, поскольку нет никаких навыков в этой области, пользователь не настроен на прохождение обучения программированию, можно начать писать макрокоманды, в которых возникла острая необходимость.
Писать такие команды в Excel 2010 несложно, достаточно кликнуть по строке «Начать запись», а дальше производить те действия, которые ранее выполнялись пользователем, и которые он желал бы осуществлять автоматически. Завершив выполнение действий, нажимается кнопка «Завершить». Теперь созданная подпрограмма будет отображаться в списке доступных, кликнув по ней, запустится процесс, идентичный тому, что был выполнен пользователем вручную.
Достаточно создать только первую макрокоманду в Excel 2010, как пользователь поймёт, что ничего сложного в этом нет, а также ощутит заметные преимущества, которыми станет сопровождаться его работа. Благодаря этому появляется желание писать новые подпрограммы и совершенствовать процесс выполнения производственных задач.
Итак, макрокоманды в табличных редакторах 2003, 2007 и 2010 способны восприниматься большинством пользователей в качестве лучших помощников, позволяющих рутинную работу автоматизировать и повысить её результативность.