Создать макрос в excel - Учим Эксель

Создаём макросы в программке MS Excel

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

Как сделать макрос в Excel

Всего можно задать макрос 2-мя методами:

  • Автоматом;
  • Вручную.

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

В случае с ручной записью макросов для вас потребуются познание особых языков программирования. потому что код придется набирать вручную. Но, невзирая на то, что этот метод кажется труднее, он быть может применим в почти всех ситуациях. Из-за его трудности мы не будет разглядывать данный метод в нашей статье, а побеседуем о том, как можно создать автоматический макрос, также запустить его выполнение.

Включение автоматической записи макросов

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

Тут же будет предоставлена лишь короткая {инструкция} по их включению:

  1. Откройте табличный редактор MS Excel и нажмите на клавишу «Файл», что размещена в высшей части окна.
  2. Тут, в левом меню, изберите пункт «Характеристики».

Итак, вы подключили макросы, но ничего не вышло, потому что их ещё никто не записал, а новейших из посторониих источников вы не добавляли. В данной для нас статье мы не будем разглядывать, как записать макрос, используя программный код. Заместо этого поглядим, как создать так, чтоб программка сама составляла макросы, исходя из ваших действий. Эта {инструкция} будет понятна и выполнима для всех юзеров, вне зависимости от их уровня владения компом и Excel.

  1. Опять перейдите во вкладку «Разраб», которая обязана была покажется опосля выполнения предшествующей аннотации.
  2. Тут нажмите на клавишу «Запись макроса». Она размещена в блоке «Код» и в неких версиях быть может без подписи, потому смотрите её размещение на снимке экрана ниже. Оно не изменяется в зависимости от версии продукта.

Опосля этого включится автоматическая запись действий для встроенного в программку макроса. Будут записываться все ваши деяния в программке до того времени, пока вы не остановите запись. Давайте для примера сделаем макрос, который будет при запуске ложить содержимое нескольких ячеек. В нашем случае формула для макроса будет смотреться так: =C4+C5+C6.

На нашем веб-сайте есть вводная статья по работе с формулами в Excel. Если вы на данный момент плохо осознаете, о чём идёт речь, то советуем ознакомиться с данным материалом по ссылке.

Давайте запишем наш 1-ый макрос:

  1. Выделите ячейку, в которой будет записана формула.
  2. Пропишите формулу. В этом случае это формула вида a+b+c. Заместо букв будет нужно вставить номера ячеек. Вид формулы сможете поглядеть выше либо перейти по ссылке с отдельной статьёй. Помните, что ячейки, которые вы указываете в формуле, не должны быть пустыми. В неприятном случае заместо решения вы получите ошибку.
  3. Макрос записал ваше действие с формулой. Нажмите Enter, чтоб она посчиталась.

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

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

    Опять откройте вкладку «Разраб» и там найдите огромную клавишу «Макросы». Она размещена в блоке «Код». Также вы сможете пользоваться сочетанием кнопок Alt+F8.

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

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

Редактируем макрос

Записанные макросы, также те, которые вы скачали с остальных источников, можно редактировать при помощи интегрированных инструментов. Но для этого для вас будет нужно познание кода, на котором написан макрос. В качестве примера мы разглядим, как его отредактировать, также ознакомимся с азами требуемого синтаксиса:

    Перейдите во вкладку «Разраб», а потом откройте «Макросы» либо воспользуйтесь композицией кнопок Alt+F8.

  • Sub – это команда отвечающая за начало записи макроса. Она непременно стоит в самом начале, потом идёт наименование макроса, которое задал юзер, а потом сам код макроса;
  • End Sub. Стоит в самом конце кода. Отвечает за остановку записи, как следует, и выполнения макроса;
  • Range(«…»).Select. Это оператор, отвечающий за выбор ячейки. К примеру, команда Range(«A1»).Select изберет ячейку с идентификатором A1;
  • ActiveCell.FormulaR1C1. Отвечает за работу с формулами, которые употребляются при записи макроса. Также быть может применено для остальных расчётов.

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

Во время работы с большенными макросами вы сможете столкнуться с тем, что его выполнение занимает много времени, также потребляет значительную часть ресурсов машинки. Обычно, данная неувязка больше животрепещуща для старенькых компов. Если вы желаете убыстрить процесс выполнения, то в код придётся добавить команду Application.ScreenUpdating = False. Она отвечает за выполнение обновления экрана во время вычислительных действий. Если у неё опосля равно стоит значение «False», то обновление экрана опосля всякого деяния макроса будет отключено, что дозволит существенно уменьшить потребление вычислительных ресурсов компа. В конце вы лишь увидите итог вычисления.

Для возобновления обновления экрана опосля выполнения каждой задачки следует прописать команду Application.ScreenUpdating = True.

Также для оптимизации работы макросов в Excel можно пользоваться командой Application.Calculation = xlCalculationManual, которая ставится в исходной позиции кода (примерное размещение отмечено на снимке экрана). В конце кода для вас необходимо будет написать команду Application.Calculation = xlCalculationAutomatic. 1-ая команда отключит автоматический пересчёт результата опосля всякого конфигурации в ячейках, а 2-ая напротив, включит его, но лишь уже опосля выполнения главный части макроса. Благодаря этому Excel будет считать итог лишь один раз, а не опосля всякого выполненного деяния, что существенно сбережет время и ресурсы. Правда, время от времени подобного рода команды могут исказить итог подсчёта, потому в определённых критериях от использования данной для нас команды приходится отрешиться.

Создание макроса с незапятнанного листа

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

  1. Перейдите во вкладку «Разраб» и нажмите там на клавишу «Visual Basic».
  2. Раскроется среда разработки, в которую для вас и необходимо будет прописывать код. Он пишется вручную, но некие плагины для офисного пакета Майкрософт могут существенно убыстрить написание макросов.

Сами макросы разрешают существенно убыстрить процесс работы в Excel и сопутствующих продуктах. В главном они завязана на автоматизации рутинных действий, которые повсевременно повторятся и никак (либо практически никак) не изменяются. Макросы можно записать без познаний кода и отредактировать/улучшить их, если имеются базисные представления о синтаксисе Basic. Если у вас имеются какие-либо вопросцы по статье либо предложения, то напишите их в комментах ниже.

Создать макрос в excel

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

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

Процедура

Перед записью макроса

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

Запись макроса

В группе Код на вкладке Разраб нажмите клавишу Запись макроса.

При желании введите имя макроса в поле Имя макроса, введите сочетания кнопок в поле Сочетания кнопок и описание в поле Описание, а потом нажмите клавишу ОК, чтоб начать запись.

Команда "Записать макрос" в группе "Код" на вкладке "Разработчик"

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

На вкладке Разраб щелкните Приостановить запись.

Команда "Остановить запись" в группе "Код" на вкладке "Разработчик"

Подробнее о макросах

Вы сможете выяснить мало о языке программирования Visual Basic методом редактирования макроса.

Чтоб поменять макрос, в группе Код на вкладке Разраб нажмите клавишу Макрос, изберите имя макроса и нажмите клавишу Поменять. При всем этом Visual Basic редактора.

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

Поэкспериментируйте с кодом, закройте редактор Visual Basic и опять запустите макрос. Сейчас поглядите, не произойдет ли что-то другое!

Последующие деяния

Доп информацию о разработке макроса см. в теме Создание и удаление макроса.

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

Процедура

Перед записью макроса

Удостоверьтесь, что на ленте отображается вкладка Разраб. По дефлоту вкладка Разраб не отображается, потому сделайте последующее:

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

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

Запись макроса

На вкладке Разраб нажмите клавишу Запись макроса.

При желании введите имя макроса в поле Имя макроса, введите сочетания кнопок в поле Сочетания кнопок и описание в поле Описание, а потом нажмите клавишу ОК, чтоб начать запись.

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

На вкладке Разраб в группе Код нажмите клавишу Приостановить запись.

Подробнее о макросах

Вы сможете выяснить мало о языке программирования Visual Basic методом редактирования макроса.

Чтоб поменять макрос, на вкладке Разраб нажмите клавишу Макрос ,изберите имя макроса и нажмите клавишу Поменять. При всем этом Visual Basic редактора.

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

Поэкспериментируйте с кодом, закройте редактор Visual Basic и опять запустите макрос. Сейчас поглядите, не произойдет ли что-то другое!

Доп сведения

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

Exceltip

Блог о программке Microsoft Excel: приемы, хитрости, секреты, трюки

Как написать макрос в Excel — создание, запись и редактирование VBA макросов в Excel

макросы excel

VBA считается обычным языком написания сценариев для приложений Microsoft, и в истинное время он заходит в состав всех приложений Office и даже приложений остальных компаний. Как следует, овладев VBA для Excel, вы можете сходу перейти к созданию макросов для остальных программных товаров Microsoft. Наиболее того, вы можете создавать настоящие программные продукты, сразу использующие функции самых различных приложений.

Как включить макросы в Excel

По дефлоту, вкладка, отвечающая за управление и навигацию макросов в Excel, укрыта. Чтоб активировать данную опцию перейдите по вкладке Файл в группу Характеристики. В показавшемся диалоговом окне Характеристики Excel, перейдите по вкладке Настройка ленты, в правом поле со перечнем ставим маркер напротив вкладки Разраб. Данные деяния животрепещущи для версий Excel 2010 и старше.

отображение вкладки разработчик

На ленте показаться новенькая вкладка Разраб с органами управления автоматизации Excel.

вкладка разработчик excel

Написание макросов в Excel

Во вкладке Разраб в группе Код, нажмите клавишу Запись макроса. Показаться диалоговое окно Запись макроса, которая запрашивает некую информацию о будущем записываемом коде. Если вы в первый раз создаете макрос, сможете просто надавить клавишу ОК. С данного момента Excel будет фиксировать каждое действие юзера в модуле VBA, будь то ввод данных, форматирование либо создание диаграмм. Чтоб приостановить запись макроса, нажмите клавишу Приостановить запись, которая находится в той же группе Код.

отключить макросы в excel

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

Сейчас вы сможете поглядеть перечень всех сделанных макросов, нажав на клавишу Макрос, находящуюся в группе Код. В показавшемся диалоговом окне вы сможете отдать наиболее описательные имена своим кодам либо задать сочетания кнопок, которые бы запускали тот либо другой макрос. Другим вариантом пуска данного окна является нажатие кнопок Alt + F8.

список макросов

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

Поздравляю! Вы написали собственный 1-ый макрос. Логичным будет проверить сейчас, какой код сгенерировал нам Excel. Сгенерированный код написан на языке VBA (Visual Basic for Applications). Чтоб узреть его, необходимо открыть Редактор VB (VBE), который запускается нажатием кнопок Alt + F11 либо клавишей Visual Basic на вкладке Разраб.

Чтоб избежать неурядицы в редакторе вы сможете работать лишь с одной вкладкой рабочей книжки, листа либо модуля. Так смотрится редактор в реалии.

редактор макросов

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

Для просмотра кода, щелкните по ветке Modules в окне проектов и два раза щелкните по показавшейся ветке Module1. Редактор откроет окно с кодом, как изображено на картинке.

код в редакторе макросов

Тут можно редактировать сгенерированный код, который был записан при работе в Excel. Например, для вас требуется заполнить определенный столбец значениями от 1 до 10. У вас уже есть 1-ые три шага, которые вводят значения 1, 2 и 3 в 1-ые три ячейки столбца А. Нам нужно дописать оставшиеся семь шагов.

Если вы поглядите на приведенный выше код, вы увидите, что макрос определенным образом структурирован. Поначалу приложение перемещает курсор на ячейку при помощи команды Range("A1").Select, потом редактирует его содержимое при помощи ActiveCell.FormulaR1C1 = "1". Таковым образом, для оставшихся шагов мы можем повторить эти деяния, меняя адресок ячейки и значение, которое вы желаете записать в эту ячейку. К примеру, чтоб задать ячейке A4 значение 4, вы должны написать:

И повторить подобные шаги для оставшихся значений.

Опосля того, как вы закончите редактирование, сохраните книжку. Запустить макрос вы можете нажатием клавиши F5, или, возвратившись в рабочую книжку Excel, перейти по вкладке Разраб в группу Код -> Макросы и избрать из перечня, интересующий вас макрос.

Уделите пару минут внимательному исследованию кода, который сгенерировал Excel. Если вы новичок, вклад нескольких минут в исследование кода дадут классный итог в знакомстве с объектами VBA в предстоящем. Направьте внимание, что рассмотренный нами пример всего только иллюстрация. Есть наиболее резвые и действенные методы заслуги подобных результатов, о которых мы побеседуем дальше.

Повышение скорости выполнения макросов Excel

Пока все отлично. Давайте разберем пару хитростей, которые посодействуют убыстрить выполнение макроса. Разглядим в качестве примера фрагмент кода, приведенный выше. Современные компы отработают рассматриваемый код так стремительно, что вы даже не заметите этого. Но что если для вас нужно выполнить операцию 50000 раз. Это займет некое время. Если макрос, написанный вами, исчисляется сотками строк, убыстрить выполнение кода можно методом обрезки части действий, который не употребляется во время выполнения макроса.

Внедрение команды Application.ScreenUpdating

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

Команда Application.ScreenUpdating гласит Excel, чтоб он закончил выводить пересчитанные данные на экран, а выдал готовые значения в конце выполнения кода.

Внедрение команды Application. Calculation

2-ая хитрость заключается в выключении автоматических вычислений. Давайте я объясню. Всякий раз, когда юзер либо процесс обновляет ячейку, Excel пробует перечесть все зависимые от нее ячейки. Так скажем, если ячейка, которую пробует обновить макрос, влияет на 10000 других ячеек, Excel будет пробовать перечесть их все до того, как завершится выполнение кода. Соответственно, если существует целый ряд влияющих ячеек, пересчет может существенно замедлить выполнение кода. Чтоб этого не происходило, вы сможете установить команду Application. Calculation в начале кода, которая переключит пересчет формул в ручной режим, а потом возвратить автоматическое вычисление в конце макроса.

Будьте внимательны, не забудьте переключить данную опцию опять в автоматический режим в конце макроса. В неприятном случае, для вас нужно будет это создать в самом Excel, перейдя по вкладке Формулы в группу Вычисление и избрать Характеристики вычислений –> Автоматический.

Избежание выбора ячеек и диапазонов

В режиме автоматической записи макросов, вы сможете увидеть, что Excel весьма нередко употребляет команду выбора ячеек, к примеру, Range(«A1»).Select. В нашем примере, мы употребляли данную команду пару раз, чтоб избрать ячейку и поменять ее значение. Вы сможете избежать этого просто указав адресок ячейки и задав ей нужное значение (Макрос записал движение курсора от одной ячейки к иной, как следует, вставил эти шаги. Но они не являются необходимыми). Так что, наиболее действенный код будет смотреться последующим образом.

В этом случае мы просто сослались на ячейку и задали ей нужное значение, не выбирая его совершенно. Это метод резвее, чем предшествующий.

Примеры макросов Excel

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

Интересно почитать:  Для чего нужны в excel макросы
Ссылка на основную публикацию
Adblock
detector