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.
Нужна дополнительная помощь?
В этой статье я расскажу, как можно редактировать макрос, записанный с помощью команды «Запись макроса…».
Файл | Описание | Размер файла: | Скачивания |
---|---|---|---|
Пример | 11 Кб | 1533 |
Давайте возьмем файл с предварительно записанным макросом или запишем новый макрос, как это сделать описано в статье «Как записать макрос не зная языка VBA?«.
Напомню, мы записывали макрос, который копирует данные из диапазона ячеек E2:E6, и вставляет их как значения в ячейки G2:G6. Допустим, у нас увеличился диапазон копирования и теперь нам нужно копировать данные из диапазона E2:E10, не переписывать же из-за этого макрос. Нам будет достаточно его отредактировать.
Итак, давайте откроем наш файл с записанным макросом, нажмем сочетания клавиш Alt+F8, должно будет открыться диалоговое окно макрос:
В данном окне мы выбираем наш макрос «Макрос1» и нажимаем кнопку «Изменить», откроется окно редактора Visual Basic for Application, в котором мы увидим VBA-код нашего макроса:
Нам необходимо перейти курсором в окно кода и поменять в строке кода Range(«E2:E6»).Select на Range(«E2:E10»).Select и закрыть редактор, после чего сохранить файл.
Sub Макрос1() ' ' Макрос1 Макрос ' ' Range("E2:E6").Select 'Надо поменять данные в этой строке Selection.Copy Range("G2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False End Sub
Sub Макрос1() ' ' Макрос1 Макрос ' ' Range("E2:E10").Select 'Вместо ("E2:E6") написать ("E2:E10") Selection.Copy Range("G2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False End Sub
После чего наш макрос будет копировать данные уже из нового диапазона.
Добавить комментарий
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 не хватает, они способны легко и просто исправить ситуацию.
Оцените качество статьи. Нам важно ваше мнение:
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
С помощью макросов можно существенно повысить эффективность обработки и работы с информацией в Эксель благодаря тому, что множество одинаковых действий, которые мы вынуждены повторять, можно оформить в виде специального кода, который возьмет эту заботу на себя. В данном статье мы рассмотрим, каким образом можно создать новый макрос, а также, как изменить существующий.
Содержание
- Создание макросов
- Метод 1: Записываем макрос в автоматическом режиме
- Запускаем выполнение макроса
- Корректируем макрос
- Метод 2: создание макроса вручную
- Заключение
Создание макросов
В Эксель создать макросы можно вручную или автоматически. Последний вариант предполагает запись действий, которые мы выполняем в программе, для их дальнейшего повтора. Это достаточно простой способ, пользователь не должен обладать какими-то навыками кодирования и т.д. Однако, в связи с этим, применить его можно не всегда.
Чтобы создавать макросы вручную, нужно уметь программировать. Но именно такой способ иногда является единственным или одним из немногих вариантов эффективного решения поставленной задачи.
Метод 1: Записываем макрос в автоматическом режиме
Чтобы иметь возможность записать макросы автоматически, для начала нужно их активировать в параметрах Эксель.
Узнать, как это можно сделать, можно в нашей статье – “Как включать и отключать макросы в Excel”.
После того, как макросы включены, можно перейти к нашей основной задаче.
- Переключаемся во вкладку “Разработчик”. В группе инструментов “Код” щелкаем по значку “Записать макрос”.
- На экране появится окошко, в котором мы можем выполнить настройки записи. Здесь указывается:
- имя макроса – любое, но должно начинаться с буквы (не с цифры), не допускаются пробелы.
- комбинация клавиш, которая будет использоваться для запуска макроса. Обязательной является Ctrl, а вторую мы можем назначить в специальном поле. Допустим, пусть это будет клавиша “r”. Если нужно использовать заглавную букву, нужно зажать клавишу Shift, которая будет добавлена в сочетание клавиш.
- место хранения макроса. Стандартно – это будет текущая книга, но, если требуется, можно выбрать новую книгу или личную книгу макросов. В нашем случае оставляем стандартный вариант.
- При желании можно добавить описание к макросу.
- По готовности кликаем OK.
- Теперь в созданный макрос будут записываться все действия, которые мы будем выполнить в книге. И так до тех пор, пока мы не остановим запись.
- Допустим, давайте давайте в ячейке D2 выполним умножение двух ячеек (B2 и B3):
=B2*B3
. - После того, как выражение готово, нажимаем клавишу Enter, чтобы получить результат. Затем останавливаем запись макроса, нажав на значок “Стоп” (появилась вместо кнопки “Записать макрос”) в группе инструментов “Код”.
Запускаем выполнение макроса
Чтобы проверить работу записанного макроса, нужно сделать следующее:
- В той же вкладке (“Разработчик”) и группе “Код” нажимаем кнопку “Макросы” (также можно воспользоваться горячими клавишами Alt+F8).
- В отобразившемся окошке выбираем наш макрос и жмем по команде “Выполнить”.Примечание: Есть более простой вариант запустить выполнение макроса – воспользоваться сочетанием клавиш, которое мы задали при создании макроса.
- Результатом проверки будет повторение ранее выполненных (записанных) действий.
Корректируем макрос
Созданный макрос можно изменить. Самая распространенная причина, которая приводит к такой необходимости – сделанные при записи ошибки. Вот как можно отредактировать макрос:
- Нажимаем кнопку “Макросы” (или комбинацию 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
. Теперь вычисление будет выполняться только один раз.
Метод 2: создание макроса вручную
Опытные пользователи Эксель в некоторых случаях предпочитают создавать макросы от начала до конца полностью вручную . План действий следующий:
- Во вкладке “Разработчик” нажимаем на значком “Visual Basic” (группа инструментов “Код”).
- В результате, на экране появится уже знакомое окно, которое мы рассмотрели выше.
- Здесь создается макрос и пишется ее код – полностью вручную.
Заключение
Таким образом, использование макросов в табличном редакторе Эксель позволяет повысить эффективность и скорость работы. Создать их можно, как в автоматическом режиме, просто записав выполненные действия, так и написав код с нуля. Также, при необходимости, можно внести изменения в ранее созданный макрос и настроить отдельные аспекты его работы.
Вы узнали, как писать код макроса в редакторе VBA из предыдущей главы. Вы можете редактировать код макроса, переименовывать макрос и удалять макрос.
Если вы осваиваете Excel VBA, написание кода или изменение кода для макроса – тривиальная задача. Вы можете редактировать код макроса, как хотите. Если вы хотите внести всего несколько простых изменений в код макроса, вы можете даже скопировать код макроса из одного места в другое.
Копирование макроса
Вы создали два макроса – MyFirstMacro и Button1_Click в рабочей книге с поддержкой макросов MyFirstMacro.xlsm. Вы создали первый макрос, записав шаги, а второй макрос написав код. Вы можете скопировать код из первого макроса во второй макрос.
-
Откройте книгу MyFirstMacro.xlsm.
-
Перейдите на вкладку «Разработчик» на ленте.
-
Нажмите Visual Basic. Откроется редактор Visual Basic.
-
Откройте код для Module1 (код макроса MyFirstMacro) и Module2 (код макроса Button1_Click ()).
-
Перейдите на вкладку «Окно» на ленте.
-
Выберите Tile Horizontally из выпадающего списка.
Откройте книгу MyFirstMacro.xlsm.
Перейдите на вкладку «Разработчик» на ленте.
Нажмите Visual Basic. Откроется редактор Visual Basic.
Откройте код для Module1 (код макроса MyFirstMacro) и Module2 (код макроса Button1_Click ()).
Перейдите на вкладку «Окно» на ленте.
Выберите Tile Horizontally из выпадающего списка.
Вы можете просмотреть код двух макросов в плиточных окнах.
-
Скопируйте строку MsgBox в коде Module2.
-
Вставьте его выше этой линии.
-
Изменить строку как –
MsgBox «Привет, мир!»
-
Скопируйте следующий код из Module1.
Скопируйте строку MsgBox в коде Module2.
Вставьте его выше этой линии.
Изменить строку как –
MsgBox «Привет, мир!»
Скопируйте следующий код из Module1.
Вставьте его в код Module2 между двумя строками кода MsgBox.
-
Нажмите значок Сохранить, чтобы сохранить код.
-
Нажмите кнопку на листе Excel. Появится окно сообщения с сообщением – Hello World! Нажмите ОК.
Нажмите значок Сохранить, чтобы сохранить код.
Нажмите кнопку на листе Excel. Появится окно сообщения с сообщением – Hello World! Нажмите ОК.
Появятся данные таблицы (в соответствии с кодом, который вы скопировали), и появится окно с сообщением – С наилучшими пожеланиями!
Вы можете изменить код всего за несколько шагов. Это самая простая задача для начинающего.
Переименование макроса
Предположим, что вы хотите запустить отредактированный макрос с любого рабочего листа, кроме того, который имеет командную кнопку. Вы можете сделать это независимо от нажатия кнопки, переименовав макрос.
- Нажмите вкладку VIEW на ленте.
- Нажмите Макросы.
- Выберите View Macros из выпадающего списка.
Откроется диалоговое окно «Макрос».
- Нажмите имя макроса – Button1_Click.
- Нажмите кнопку Изменить.
Код макроса появляется в редакторе VBA.
Измените имя, отображаемое в строке Sub, с Button1_Click на RenamedMacro. Оставьте Sub и круглые скобки как они есть.
Откройте диалоговое окно «Макрос». Имя макроса отображается при переименовании.
- Нажмите RenamedMacro.
- Нажмите кнопку «Выполнить». Макрос работает. Теперь нажатие кнопки не требуется.
Удаление макроса
Вы можете удалить макрос, который вы записали или закодировали.
- Откройте диалоговое окно «Макросы».
- Нажмите на имя макроса.
- Нажмите кнопку Удалить.
Появится сообщение с подтверждением удаления .
Нажмите Да, если вы уверены, что хотите удалить макрос. В противном случае нажмите Нет.
Как наверняка многие из вас знают из первых рук, это программы, которые часто используются ежедневно на самых разных работах. Например, случай, в котором мы хотим сосредоточиться на этих же строках, служит, Excel . Это программное решение, которое в основном ориентировано на работу с числовые данные . Для всего этого он представляет нам пользовательский интерфейс, полный независимых ячеек, чтобы облегчить вычисления с данными, которые мы вводим.
В то же время программа предоставляет в наше распоряжение огромное количество функций, формул и характеристик, которые нам очень полезны. И надо иметь в виду, что речь идет о предложении, подходящем как для домашних пользователей и крупные компании. Поэтому для работы с этой программой, которую мы обсуждаем, у нас есть много способов сделать это. В значительной степени все будет зависеть от наших знаний о том, что у нас есть, или от уровня проекта, который у нас есть.
Мы можем начать с заполнения вышеупомянутых числовых данных в соответствующих ячейках вместе с их формулами, чтобы получить результаты. Правда в том, что возможности здесь практически безграничны. Все это поможет нам в различных видах работ, таких как ведение личного или корпоративного учета, составление собственных счетов и т. Д. Конечно, поскольку мы получаем некоторый опыт работы с программа , мы увидим, что здесь много повторяющихся задач.
Это становится все более распространенным явлением, особенно по мере роста проекта, что может быть значительной тратой времени. Но даже в случае необходимости программа Microsoft предлагает нам хорошее Решение за все это. Это будет очень полезно для тех повторяющихся задач, которые мы комментируем, мы ссылаемся на макросы. На самом деле, они есть во многих программах, не только в Excel.
Следует отметить, что макрос на самом деле небольшая программа или набор инструкций что мы определяем себя. Как вы понимаете, основная цель всего этого — автоматизировать определенные рутинные и повторяющиеся действия. К тому же создание этих элементов совсем не сложно, об этом позаботится сам Excel. Кроме того, они позволят нам сэкономить время, силы и увеличить функциональность проекта, в котором мы работаем.
Для тех из вас, кому интересно, мы скажем вам, что эти элементы, макросы, часто используются при многократном заполнении данных, воспроизведении состава определенного количества ячеек или повторяющихся действиях и т.д. или организовать их определенное содержание.
Включите вкладку разработчика, чтобы создать макрос
Первое, что нужно знать, это то, что Макросы Excel особенно подходят для пользователей, у которых уже есть определенные знание программы . Другими словами, это функция, ориентированная прежде всего на опытных пользователей, поэтому априори мы можем обнаружить, что не видим соответствующей опции. И заключается в том, что вкладка, которая позволяет нам получить доступ к этим функциям, по умолчанию скрыта. Поэтому, чтобы увидеть его, первое, что мы делаем, это щелкаем в меню программы «Файл», где выбираем «Параметры».
Затем в появившемся новом окне на левой панели выбираем «Настроить ленту». В этот момент у нас будет возможность активировать на правой панели Застройщик поле, которое по умолчанию отключено.
В этот момент мы сможем увидеть, как на панели инструментов появилась новая вкладка «Разработчик», которая нас и интересует в данном случае. Фактически это будет тот, который уступит место созданию наших новые макросы .
Как создать собственные макросы в Excel
Поэтому, чтобы записать новый макрос в Excel, первое, что мы делаем, это щелкаем только что появившуюся вкладку «Разработчик». На этой новой вкладке в правой части панели инструментов мы находим кнопку под названием «Запись макроса».
Следовательно, при нажатии на него появится новое окно, которое помогает нам определить этот элемент автоматизации, который мы собираемся создать. Мы стоим перед окном, из которого у нас будет возможность настроить собственный макрос о котором мы говорили. Поэтому первое, что нужно сделать, это присвоить ему репрезентативное имя, чтобы позже мы могли без проблем найти его. Таким же образом мы можем дать вам краткое описание, в котором мы объясним, что он делает, а также присвоить ему сочетание клавиш .
Настройте макросы в Excel, чтобы они работали лучше
Скажем, после того, как мы определили эти поля, нажав кнопку «Принять», макрос как таковой начнет запись. Следовательно, именно в этот момент мы должны выполнить все задачи, которые мы хотим решить. автоматизировать так что они могут быть сделаны сами в будущем. Таким образом, программа сохраняет все это шаг за шагом, поэтому мы должны быть осторожны, чтобы не ошибиться. В этом случае нам останется только начать сначала.
После того, как мы предприняли шаги, которые хотим автоматизировать, нам нужно только остановить запись и сохранить Excel макрос .
Если мы хотим взглянуть на все элементы этого типа, которые мы создали с течением времени, это легко. В дополнение к этому, помимо комбинации клавиш, мы также можем выполнять их отсюда. Для этого нам нужно только снова получить доступ к вкладке «Разработчик» и нажать кнопку «Макросы».
В этом новом окне у нас будет возможность выполнять созданные макросы, удалять их, редактировать и т. Д. Нужно только указать из списка тот, который нас интересует, и нажать соответствующую кнопку из тех, которые мы упомянули. Ко всему этому мы можем добавить тот факт, что у нас есть кнопка под названием Step by step. Это может быть очень полезно, потому что позволяет нам выполнять функция макроса основанный на тех, которые мы определили в начале. Это может помочь нам обнаружить тот, который вызывает проблемы или неправильный, если необходимо, что даст нам возможность изменить его.
Хитрости »
3 Август 2013 25356 просмотров
Рано или поздно у разработчика по различным причинам возникает желание внести какие-либо изменения в созданный им код или добавить в только что созданный кодом файл код VBA. Распространенная ситуация: создали файл обработки, разослали пользователям. Потом доработали код VBA, что-то там добавили, улучшили, а заменять файлы пользователей уже нельзя(они там данные вносят и хранят). Изменять отдельно код VBA каждого файла занятие не из самых привлекательных. Вот здесь-то как раз очень бы пригодилось изменять коды программно.
О том как именно изменять описано в других статьях, например: Как добавить код процедуры программно, скопировать модуль. Эта же статья посвящена тому, что необходимо знать прежде чем начать вносить изменения.
Итак, работать с объектной моделью проекта VBA нам позволяет библиотека Microsoft Visual Basic For Applications Extensibility. Её можно подключить через меню VBE:
Tools—References-Microsoft Visual Basic For Applications Extensibility 5.X (номер может быть другим)
Так же эту библиотеку к проекту можно подключить программно(по идентификатору GUID):
ThisWorkbook.VBProject.References.AddFromGuid _
GUID:="{0002E157-0000-0000-C000-000000000046}", Major:=5, Minor:=3
Что мне нравится в VBA так это то, что он допускает обращение к методам и свойствам объектов любой имеющейся библиотеки без её подключения в настройках, чем я постоянно и пользуюсь — в своих кодах я не использую текстовые константы из библиотеки Extensibility, заменив их числовыми. Это избавляет от проверки подключенной библиотеки на ПК конечного пользователя. Подключение же библиотеки позволяет использовать Intellisence для интуитивного просмотра свойст и методов объектов. Бывает очень полезно, если не знаете какое-либо свойство или метод или константу. Подключили библиотеку, подсмотрели, применили.
Но куда важнее то, без чего работа с проектом VBA программно невозможна. Я знаю два основных условия:
- Необходимо проставить доверие к проекту VBA:
- Excel 2010-2019: Файл —Параметры —Центр управления безопасностью —Параметры макросов -поставить галочку «Доверять доступ к объектной модели проектов VBA»;
- Excel 2007: Меню —Параметры Excel —Центр управления безопасностью —Параметры макросов -поставить галочку «Доверять доступ к объектной модели проектов VBA»;
- Excel 2003: Сервис –Параметры -вкладка Безопасность —Параметры макросов—Доверять доступ к Visual Basic Project
Причем сделать это необходимо на том ПК, на котором будет выполняться код.
- Изменяемый VBA-проект не должен быть защищен.
Исключить первое условие программно нельзя. Точнее через VBA не получится изменить данный параметр, т.к. это будет происходить в любом случае при запущенном Excel, а при изменении данного параметра программно необходим перезапуск приложения. Да и изменить параметр возможно лишь через реестр, а не у всех пользователей может быть доступ не только к записи, но и даже к чтению реестра Windows. Зато можно проверить разрешен ли доступ к проектной модели VBA и если запрещен, то уведомить пользователя в необходимости это сделать и приложить инструкции по необходимым действиям.
Можно использовать такой код для проверки:
Sub Check_VBOM() Dim oVBProj As Object On Error Resume Next Set oVBProj = ActiveWorkbook.VBProject If Not oVBProj Is Nothing Then MsgBox "Доступ к проектной модели VBA разрешен", vbInformation Else MsgBox "Доступ к проектной модели VBA запрещен", vbInformation End If End Sub
Главное его достоинство в том, что он не требует наличия каких-либо прав доступа к реестру.
А кодом ниже можно проверить доступ к объектной модели VBA проекта через реестр Windows, что означает необходимость наличия у пользователя прав доступа как минимум для чтения реестра:
Sub Change_VBOM() Dim objShell As Object, sExVersion As String, lLevel As Long 'Определяем версию Excel и в зависимости от этого определяем ветку реестра sExVersion = Application.Version Set objShell = CreateObject("WScript.Shell") lLevel = objShell.RegRead("HKEY_CURRENT_USERSoftwareMicrosoftOffice" & sExVersion & "ExcelSecurityAccessVBOM") 'Проверяем доступ к объектной модели VBA If lLevel = 0 Then MsgBox "Доступ к проектной модели VBA запрещен", vbInformation Else MsgBox "Доступ к проектной модели VBA разрешен", vbInformation End If Set objShell = Nothing End Sub
Если вдруг кому-то захочется поэкспериментировать, то вот код для VB, который меняет доступ программно:
Sub Change_VBOM() Dim objExcelApp As Object, objShell As Object, sExVersion As String, lLevel As Long 'Определяем версию Excel и в зависимости от этого определяем ветку реестра Set objExcelApp = CreateObject("Excel.Application") sExVersion = objExcelApp.Version: objExcelApp.Quit Set objShell = CreateObject("WScript.Shell") lLevel = objShell.RegRead("HKEY_CURRENT_USERSoftwareMicrosoftOffice" & sExVersion & "ExcelSecurityAccessVBOM") 'Разрешаем доступ к объектной модели VBA 'AccessVBOM - 0 - запрещен доступ; 1 - разрешен If lLevel = 0 Then objShell.RegWrite _ "HKEY_CURRENT_USERSoftwareMicrosoftOffice" & _ sExVersion & "ExcelSecurityAccessVBOM", 1, "REG_DWORD" End If Set objExcelApp = Nothing: Set objShell = Nothing End Sub
Зато снять пароль с проекта VBA можно средствами самого VBA. Об этом я рассказывал в статье Как программно снять пароль с VBA проекта?
Других ограничений на программное внесение изменений в проект VBA я пока не нашел.
Также см.:
Ошибка — Cant find project or library
Как добавить код процедуры программно, скопировать модуль
Управление безопасностью макросов
Как запустить файл с включенными макросами?
Статья помогла? Поделись ссылкой с друзьями!
Видеоуроки
Поиск по меткам
Access
apple watch
Multex
Power Query и Power BI
VBA управление кодами
Бесплатные надстройки
Дата и время
Записки
ИП
Надстройки
Печать
Политика Конфиденциальности
Почта
Программы
Работа с приложениями
Разработка приложений
Росстат
Тренинги и вебинары
Финансовые
Форматирование
Функции Excel
акции MulTEx
ссылки
статистика
Создание макросов в Microsoft Excel
Макросы в Microsoft Excel позволяют значительно ускорить работу с документами в этом табличном редакторе. Эта возможность достигается путем автоматизации повторяющихся действий, записанных в специальный код. Давайте разберем, как создать макросы в программе и как их можно отредактировать.
Способы записи макросов в Excel
Макрос записывается двумя способами: автоматически и вручную. Воспользовавшись первым вариантом, вы просто записываете определенные действия в Microsoft Excel, которые выполняете в данный момент времени. Потом можно будет воспроизвести эту запись. Такой метод очень легкий и не требует знания кода, но применение его на практике довольно ограничено. Ручная запись, наоборот, требует знаний программирования, так как код набирается вручную с клавиатуры. Однако грамотно написанный таким образом код может значительно ускорить выполнение процессов.
Вариант 1: Автоматическая запись макросов
Прежде чем начать автоматическую запись макросов, нужно включить их в программе Microsoft Excel. Для этого воспользуйтесь нашим отдельным материалом.
Когда все готово, приступаем к записи.
-
Перейдите на вкладку «Разработчик». Кликните по кнопке «Запись макроса», которая расположена на ленте в блоке инструментов «Код».
Когда алгоритм был выполнен, щелкаем на кнопку «Остановить запись». Эта кнопка преобразовалась из кнопки «Запись макроса» после включения записи.
Запуск макроса
Для проверки того, как работает записанный макрос, выполним несколько простых действий.
-
Кликаем в том же блоке инструментов «Код» по кнопке «Макросы» или жмем сочетание клавиш Alt + F8.
Редактирование макроса
Естественно, при желании вы можете корректировать созданный макрос, чтобы всегда поддерживать его в актуальном состоянии и исправлять некоторые неточности, допущенные во время процесса записи.
-
Снова щелкаем на кнопку «Макросы». В открывшемся окне выбираем нужный и кликаем по кнопке «Изменить».
Открывается «Microsoft Visual Basic» (VBE) – среда, где происходит их редактирование.
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» .
Вариант 2: Написание кода макроса с нуля
Продвинутые пользователи могут выполнять не только редактирование и оптимизацию записанных макросов, но и записывать их код с нуля.
-
Чтобы приступить к этому, нужно нажать на кнопку «Visual Basic», которая расположена в самом начале ленты разработчика.
Откроется окно редактора VBE, которое уже быдло продемонстрировано в предыдущем варианте.
Как видим, макросы в Microsoft Excel могут значительно упростить выполнение рутинных и однообразных процессов. Тем не менее в большинстве случаев для этого больше подходят макросы, код которых написан вручную, а не автоматически записанные действия. Кроме того, его код можно оптимизировать через редактор VBE для ускорения процесса выполнения задачи.
Отблагодарите автора, поделитесь статьей в социальных сетях.
Автоматизация задач с помощью средства записи макросов — Excel
Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке).
Для автоматизации повторяющихся задач в Microsoft Excel можно быстро записать макрос. Предположим, у вас есть даты в различном формате и вы хотите применить ко всем из них один формат. Это можно сделать с помощью макроса. Вы можете записать макрос, который применяет нужный формат, а затем запускать его при необходимости.
При записи макроса записываются все действия, описанные в Visual Basic для приложений (VBA) коде. Эти действия могут включать ввод текста или чисел, нажатие ячеек или команд на ленте или в меню, форматирование ячеек, строк или столбцов, а также импорт данных из внешнего источника, например Microsoft Access. Приложение Visual Basic (VBA) — это подмножество мощного языка программирования Visual Basic, которое входит в большинство приложений Office. Несмотря на то, что VBA обеспечивает возможность автоматизации процессов между приложениями Office, вам не нужно знать код VBA или программное программирование, если это нужно.
Важно знать, что при записи макроса регистрируются почти все ваши действия. Поэтому если вы допустите ошибку, например нажмете не ту кнопку, средство записи макросов зарегистрирует это действие. В таком случае можно снова записать всю последовательность или изменить код VBA. Поэтому перед записью процесса следует хорошо проработать его. Чем точнее вы запишете последовательность, тем более эффективно будет работать макрос.
Макросы и средства VBA находятся на вкладке Разработчик, которая по умолчанию скрыта, поэтому сначала нужно включить ее. Дополнительные сведения см. в статье Отображение вкладки «Разработчик».
Запись макроса
Перед записью макросов полезно знать следующее:
Макрос, записанный для работы с диапазоном Excel, будет выполняться только для ячеек этого диапазона. Поэтому если вы добавите в диапазон новую строку, макрос не будет применяться к ней.
Если вам нужно записать длинную последовательность задач, советуем вместо этого использовать несколько более мелких макросов.
В макросе могут содержаться и задачи, не относящиеся к Excel. Процесс макроса может охватывать прочие приложения Office и другие программы, которые поддерживают Visual Basic для приложений (VBA). Например, вы можете записать макрос, который сначала обновляет таблицу в Excel, а затем открывает Outlook для ее отправки по электронной почте.
Чтобы записать макрос, следуйте инструкциям ниже.
На вкладке Разработчик в группе Код нажмите кнопку Запись макроса.
В поле Имя макроса введите название макроса. Сделайте имя понятным, чтобы можно было быстро найти нужный макрос.
Примечание: Первым символом имени макроса должна быть буква. Последующие символы могут быть буквами, цифрами или знаками подчеркивания. В имени макроса не должно содержаться пробелов; в качестве разделителей слов следует использовать знаки подчеркивания. Если используется имя макроса, являющееся ссылкой на ячейку, может появиться сообщение об ошибке, указывающее на недопустимое имя макроса..
Чтобы назначить сочетание клавиш для запуска макроса, в поле Сочетание клавиш введите любую строчную или прописную букву. Рекомендуется использовать сочетания клавиш с CTRL+SHIFT, так как они будут заменять собой совпадающие с ними стандартные сочетания клавиш в Excel, пока открыта книга, содержащая макрос. Например, если назначить сочетание клавиш CTRL+Z (Отменить), вы не сможете использовать его для функции «Отменить» в данном экземпляре Excel.
В списке Сохранить в выберите книгу, в которой вы хотите сохранить макрос.
Как правило, макрос сохраняется в указанном расположении книги , но если вы хотите, чтобы макрос был доступен при использовании Excel, выберите пункт Личная книга макросов . Если выбрать команду Личная книга макросов, Excel создаст скрытую личную книгу макросов (личное. xlsb), если она еще не существует, и сохранит макрос в этой книге.
В поле Описание при необходимости введите краткое описание действий макроса.
Хотя поле «Описание» является необязательным, рекомендуется его заполнить. Кроме того, желательно ввести понятное описание, которое будет полезно вам и всем, кто запускает макрос. Если у вас много макросов, описания помогут быстро определить, для чего они нужны.
Чтобы начать запись макроса, нажмите кнопку ОК.
Выполните действия, которые нужно записать.
На вкладке разработчик в группе код нажмите кнопку остановить запись .
Работа с макросами, записанными в Excel
На вкладке Разработчик щелкните Макросы, чтобы просмотреть макросы, связанные с книгой. Кроме того, можно нажать клавиши ALT+F8. При этом откроется диалоговое окно Макрос.
Внимание: Макросы нельзя отменить. Прежде чем впервые запускать записанный макрос, сохраните книгу или создайте ее копию, чтобы предотвратить внесение нежелательных изменений. Если вас не устраивают результаты выполнения макроса, вы можете закрыть книгу, не сохраняя ее.
Ниже приведены дополнительные сведения о работе с макросами в Excel.
Сведения о параметрах безопасности макросов и их значении.
Макросы можно запускать различными способами, например с помощью сочетания клавиш, графического объекта, панели быстрого доступа, кнопки или даже при открытии книги.
С помощью редактора Visual Basic можно изменять макросы, присоединенные к книге.
Если книга содержит макрос VBA, который нужно использовать где-либо еще, этот модуль можно скопировать в другую книгу с помощью редактора Microsoft Visual Basic.
Назначение макроса объекту, фигуре или графическому элементу
На листе щелкните правой кнопкой мыши объект, рисунок, фигуру или элемент, которому нужно назначить существующий макрос, а затем выберите команду назначить макрос.
В поле Назначить макроса выберите макрос, который вы хотите назначить.
Вы можете назначить макрос значку и добавить его на панель быстрого доступа или ленту.
Вы можете назначать макросы формам и элементам ActiveX на листе.
Узнайте, как включать и отключать макросы в файлах Office.
Открытие редактора Visual Basic
Нажмите клавиши ALT+F11.
Узнайте, как найти справку по элементам Visual Basic.
Работа с записанным кодом в редакторе Visual Basic (VBE)
С помощью редактора Visual Basic (VBE) вы можете добавлять в записанный код собственные переменные, управляющие структуры и другие элементы, которые не поддерживает средство записи макросов. Так как средство записи макросов фиксирует почти каждый шаг, выполняемый во время записи, может также потребоваться удалить ненужный код. Просмотр записанного кода — отличный способ научиться программировать на VBA или отточить свои навыки.
Пример изменения записанного кода можно найти в статье Начало работы с VBA в Excel.
Запись макроса
Перед записью макросов полезно знать следующее:
Макрос, записанный для работы с диапазоном Excel, будет выполняться только для ячеек этого диапазона. Поэтому если вы добавите в диапазон новую строку, макрос не будет применяться к ней.
Если вам нужно записать длинную последовательность задач, советуем вместо этого использовать несколько более мелких макросов.
В макросе могут содержаться и задачи, не относящиеся к Excel. Процесс макроса может охватывать прочие приложения Office и другие программы, которые поддерживают Visual Basic для приложений (VBA). Например, вы можете записать макрос, который сначала обновляет таблицу в Excel, а затем открывает Outlook для ее отправки по электронной почте.
Макросы и средства VBA находятся на вкладке Разработчик, которая по умолчанию скрыта, поэтому сначала нужно включить ее.
Перейдите в раздел настройки _гт_ Excel. панель инструментов _Гт_ ленты _амп_.
В категории Настроить ленту в списке Основные вкладки установите флажок Разработчик, а затем нажмите кнопку Сохранить.
Чтобы записать макрос, следуйте инструкциям ниже.
На вкладке Разработчик нажмите кнопку Запись макроса.
В поле Имя макроса введите название макроса. Сделайте имя понятным, чтобы можно было быстро найти нужный макрос.
Примечание: Первым символом имени макроса должна быть буква. Последующие символы могут быть буквами, цифрами или знаками подчеркивания. В имени макроса не должно содержаться пробелов; в качестве разделителей слов следует использовать знаки подчеркивания. Если используется имя макроса, являющееся ссылкой на ячейку, может появиться сообщение об ошибке, указывающее на недопустимое имя макроса..
В списке Сохранить в выберите книгу, в которой вы хотите сохранить макрос.
Как правило, макрос сохраняется в указанном расположении книги , но если вы хотите, чтобы макрос был доступен при использовании Excel, выберите пункт Личная книга макросов. Если выбрать команду Личная книга макросов, в Excel будет создана скрытая личная книга макросов (личное. XLSB), если он еще не существует, и сохранение макроса в этой книге. Книги в этой папке открываются автоматически при запуске Excel, а код, хранящийся в личной книге макросов, будет указан в диалоговом окне Макрос, которое описано в следующем разделе.
Чтобы назначить сочетание клавиш для запуска макроса, в поле Сочетание клавиш введите любую строчную или прописную букву. Рекомендуется использовать сочетания клавиш, которые еще не назначены другим командам, так как они будут переопределять совпадающие с ними стандартные сочетания клавиш в Excel, пока открыта книга, содержащая макрос.
В поле Описание при необходимости введите краткое описание действий макроса.
Хотя поле «Описание» является необязательным, рекомендуется его заполнить. Полезно ввести понятное описание с любой полезной информацией, которая может быть полезна Вам или другим пользователям, которые будут запускать макрос. Если у вас много макросов, описания помогут быстро определить, для чего они нужны.
Чтобы начать запись макроса, нажмите кнопку ОК.
Выполните действия, которые нужно записать.
На вкладке Разработчик щелкните Остановить запись.
Работа с макросами, записанными в Excel
На вкладке Разработчик щелкните Макросы, чтобы просмотреть макросы, связанные с книгой. При этом откроется диалоговое окно Макрос.
Примечание: Макросы нельзя отменить. Прежде чем впервые запускать записанный макрос, сохраните книгу или создайте ее копию, чтобы предотвратить внесение нежелательных изменений. Если вас не устраивают результаты выполнения макроса, вы можете закрыть книгу, не сохраняя ее.
Ниже приведены дополнительные сведения о работе с макросами в Excel.
Блог о программе Microsoft Excel: приемы, хитрости, секреты, трюки
Как написать макрос в Excel — создание, запись и редактирование VBA макросов в Excel
VBA считается стандартным языком написания сценариев для приложений Microsoft, и в настоящее время он входит в состав всех приложений Office и даже приложений других компаний. Следовательно, овладев VBA для Excel, вы сможете сразу перейти к созданию макросов для других программных продуктов Microsoft. Более того, вы сможете создавать полноценные программные продукты, одновременно использующие функции самых разных приложений.
Как включить макросы в Excel
По умолчанию, вкладка, отвечающая за управление и навигацию макросов в Excel, скрыта. Чтобы активировать данную опцию перейдите по вкладке Файл в группу Параметры. В появившемся диалоговом окне Параметры Excel, перейдите по вкладке Настройка ленты, в правом поле со списком ставим маркер напротив вкладки Разработчик. Данные действия актуальны для версий Excel 2010 и старше.
На ленте появиться новая вкладка Разработчик с элементами управления автоматизации Excel.
Написание макросов в Excel
Во вкладке Разработчик в группе Код, нажмите кнопку Запись макроса. Появиться диалоговое окно Запись макроса, которая запрашивает некоторую информацию о будущем записываемом коде. Если вы впервые создаете макрос, можете просто нажать кнопку ОК. С данного момента Excel будет фиксировать каждое действие пользователя в модуле VBA, будь то ввод данных, форматирование или создание диаграмм. Чтобы остановить запись макроса, нажмите кнопку Остановить запись, которая находится в той же группе Код.
Вы также можете воспользоваться альтернативным вариантом записи макросов, воспользовавшись кнопкой Запись макроса, которая находится в левом нижнем углу рабочей книги Excel (правее статуса Готово).
Теперь вы можете посмотреть список всех созданных макросов, нажав на кнопку Макрос, находящуюся в группе Код. В появившемся диалоговом окне вы можете дать более описательные имена своим кодам или задать сочетания клавиш, которые бы запускали тот или иной макрос. Альтернативным вариантом запуска данного окна является нажатие клавиш Alt + F8.
Редактирование макросов
Поздравляю! Вы написали свой первый макрос. Логичным будет проверить теперь, какой же код сгенерировал нам Excel. Сгенерированный код написан на языке VBA (Visual Basic for Applications). Чтобы увидеть его, нужно открыть Редактор VB (VBE), который запускается нажатием клавиш Alt + F11 или кнопкой Visual Basic на вкладке Разработчик.
Чтобы избежать путаницы в редакторе вы можете работать только с одной вкладкой рабочей книги, листа или модуля. Так выглядит редактор в реалии.
Предлагаю на данном этапе подробнее изучить различные окна и меню редактора VBA. В дальнейшем это поможет вам сэкономить кучу времени.
Для просмотра кода, щелкните по ветке Modules в окне проектов и дважды щелкните по появившейся ветке Module1. Редактор откроет окно с кодом, как изображено на картинке.
Здесь можно редактировать сгенерированный код, который был записан при работе в Excel. К примеру, вам требуется заполнить определенный столбец значениями от 1 до 10. У вас уже есть первые три шага, которые вводят значения 1, 2 и 3 в первые три ячейки столбца А. Нам необходимо дописать оставшиеся семь шагов.
Как создать макрос в Excel?
Применение макросов в Excel помогает автоматизировать процессы и избежать повторения большого количества рутинных действий, которые мы не хотим выполнять вручную.
Давайте поподробнее разберемся в тонкостях работы с макросами.
Зачастую нам приходится выполнять одни и те же действия в Excel большое количество раз. C такой «рутинной работой» рано или поздно сталкивается почти каждый пользователь Excel — формирование ежедневных и еженедельных отчетов, обработка однообразных данных и т.д.
Например, Вам каждую неделю присылают отчет по продажам, который необходимо обработать, произвести некоторые расчеты, составить сводную таблицу и получить итог по результатам недели. Предположим, что на всю работу Вы тратите 3 часа, с помощью разработки и создания макроса Вы можете сократить время выполняемой работы до нескольких минут.
Макрос в Excel — это программа, записанная на языке программирования Visual Basic for Applications (VBA), которая выполняет определенную последовательность действий.
Как записать макрос в Excel?
В Excel есть встроенная программа макрорекордер, которая записывает каждое действие пользователя и переводит его в язык программирования VBA.
Такой способ записи макроса не требует специальных знаний программирования, поэтому запись макроса с помощью макрорекордера — самый простой способ создания макроса.
Однако при работе с макрорекордером есть свои недостатки:
- Макрорекордер записывает все Ваши действия, в том числе и случайно сделанные ошибки. Поэтому перед записью макроса четко продумайте список выполняемых действий — это поможет избежать ошибок;
- Макрорекордер записывает действия, выполненные только в программе Excel. Переключения на другие программы макрорекордер не записывает;
- Макрорекордер записывает только те действия, для которых есть кнопки или команды меню в Excel.
Запись макроса макрорекордером
Чтобы записать макрос в Excel нужно в нижней панели нажать на кнопку «Запись макроса» или перейти в панели инструментов на вкладку «Вид» в группу «Макросы» и выбрать «Запись макроса»:
Настраиваем поля записываемого макроса (можно оставить поля пустыми):
Выбор имени макроса и сочетания клавиш
- Имя макроса — произвольное имя на русском или английском языке;
- Сочетание клавиш — комбинация клавиш, которой в дальнейшем будет запускаться макрос;
- Сохранить в — книга в которой будет сохраняться макрос.
Остановить запись макроса можно двумя способами: в нижней панели нажать на кнопку «Остановить запись» или перейти в панели инструментов на вкладку «Вид» в группу «Макросы» и выбрать «Остановить запись»:
Конец записи макроса
Как выполнить макрос в Excel?
Чтобы выполнить и запустить макрос можно нажать выбранное сочетание клавиш или перейти на вкладку «Вид» в группу «Макросы», выбрать «Макросы» и нажать кнопку «Выполнить» или нажать сочетание клавиш Alt+F8:
Просмотр кода макроса
Для просмотра кода макроса нужно перейти на вкладку «Вид» в группу «Макросы» и выбрать «Макросы»,а затем нажать кнопку «Изменить»:
При знании языка VBA код макроса можно либо изменить, например, для удаления ошибок или для добавления новых действий для данного макроса, либо создать макрос с нуля на Visual Basic.
Для создания макроса в Excel нужно выполнить следующие шаги:
- Создание макроса. Выбрать на панели инструментов «Вид» ->«Макросы» ->«Запись макроса» и при необходимости заполнить настройки макроса;
- Запись макроса. Выполнить требуемые действия;
- Остановить запись макроса. Выбрать на панели инструментов «Вид» ->«Макросы» ->«Остановить запись».
Удачи вам и до скорых встреч на страницах блога Tutorexcel.ru!
Поделиться с друзьями:
Поиск по сайту:
Похожие статьи:
Комментарии (7)
что мне надо сделать чтобы не запускать его постоянно в VB при открытии документа, а что бы он делал это сам автоматически. И еще вопрос можно ли как-то в поле со списком или в combobox вставить названия таблиц, и при выборе определенного названия в определенном диапазоне открывалась нужная таблица? Спасибо.
Вам необходимо зайти в VBA, выбрать в редакторе модуль «ЭтаКнига» и затем в код модуля добавить стандартный макрос:
Как написать простой макрос в программе Excel
Макрос в «Эксель» — небольшая программка (скрипт) написанная на языке VBA (Visual Basic for Applications) разновидности языка Basic ( Бейсик).
В макросах, как правило, прописывают последовательность действий с данными в таблице Excel.
Это очень удобно, если Вам приходится по многу раз выполнять одну и ту же последовательность операций с данными. Достаточно один раз записать макро и запускать его каждый раз, когда хотите выполнить нужные действия. При запуске макроса программа сама выполнит все нужные расчеты и обработает информацию в таблице.
Как создать простой макрос.
Создавать макросы в Excel можно двумя способами:
- При помощи опции «Запись макроса»;
- Написать макрос на языке VBA в редакторе макросов и применить его к документу.
Самый простой способ «Запись макроса», его и рассмотрим.
Для начала необходимо включить вкладку «Разработчик», если она не включена.
Необходимо кликнуть правой кнопкой мыши на панели инструментов, выбрать «настройка ленты», в настройках ленты поставить галочку напротив панели «Разработчик» и нажать «ОК».
После того, как включили панель разработчика можно начинать запись макроса.
Чтобы записать макрос, следует:
- Войти во вкладку «разработчик».
- Выбрать запись макроса.
- Выбрать имя макроса (в имени нельзя использовать пробелы и дефисы);
- Можно выбрать сочетание клавиш, при нажатии которых будет начинаться запись макроса;
- Выбрать место сохранения:
— при сохранении в «Эта книга» макрос будет работать только в текущем документе;
— при сохранении в «Личная книга» макрос будет работать во всех документах на Вашем компьютере.
- Можно добавить описание макроса, оно поможет Вам вспомнить, какие действия совершает макрос.
- Нажать «Ок».
- Если вы не указали сочетание клавиш, запись начнется сразу после нажатия кнопки «Ок».
- Когда идет запись, Вы должны совершать требуемую последовательность действий.
- Когда закончите, нажимайте кнопку остановить запись.
Записанные макросы отображаются в книге макросов.
Чтобы их посмотреть следует нажать кнопку «макросы». В появившемся окне появится список макросов. Выберете нужный макрос и нажмите «Выполнить».
Макросы, находящиеся в книге можно редактировать. Для этого нужно выбрать макрос и нажать кнопку «Изменить». При нажатии на кнопку «Изменить» откроется редактор макросов с записанным на языке VBA скриптом.
Попробуем отредактировать макрос.
Например, продолжить его еще на несколько ячеек.
После корректировок закрываем редактор и пробуем снова запустить макрос.