Виды макросов в excel. Как вставить готовый макрос в рабочую книгу? Заглянем под капот: Как работает макрос

16.08.2020 Android


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

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

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

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

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

Помимо утилиты, которая предназначена для создания таблиц, многие люди сталкиваются с понятием макроса в Worde, набирая обычный текст. А всё из-за того, что макрос имеет большое число преимуществ.

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

Создание собственных макросов в различных версиях Excel.

Во-первых, необходимо открыть документ, и выбрать те ячейки, которые уже были проработаны. Во-вторых, нужно отобразить в ленте «Вкладку разработчика». Чтобы это сделать, необходимо открыть «Файл», выбрать «Параметры», и выставить таки значения, которые имеются на изображении.

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

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

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

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

После этого нажимаем на клавишу OK, и останавливаем полученную запись на панели управления.

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

Как включить работу с макросами?

Сначала переходим на вкладку разработчика, и там выбираем меню «Макросы», сразу нажимаем на неё.

Выбираем необходимый макрос и нажимаем на такую кнопку, как «Выполнить».

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

Создание макросов и их удаление

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

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

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

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

Удалить макрос не составляет никаких ситуаций. Откроется меню разработчика, и выберете там вкладку «Макросы». Дальше выбираем объект, который должен подвергнуться удалению, и просто начинаем незамедлительно сам процесс.

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

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

Для создания макросов предназначена программная среда VBA, однако необязательно быть программистом и изучать Visual Basic for Application, чтобы научиться писать их. Для этого есть специально разработанные средства, которые по вашей команде создают код VBA, при этом не требуя от вас дополнительных знаний. Впрочем, освоить этот язык не так уж сложно.

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

Выберите пункт меню «Сервис» -> «Макрос» -> «Начать запись» (в Office 2007 – «Вид» -> «Макросы» -> «Запись макроса»). В появившемся окне «Запись макроса» задайте имя нового макроса, по умолчанию оно стоит «Макрос1», но лучше дать ему название, особенно если макросов будет несколько. Максимальный размер поля имени – 255 знаков, не допускается использование символов точки и пробела.

Определитесь с выбором кнопки или комбинации клавиш, по которой ваш макрос будет работать в дальнейшем. Постарайтесь подобрать максимально удобный вариант, особенно если он предназначен для частого использования. Выберите соответствующий пункт поля «Назначить макрос»: «кнопку» или «клавишам».

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

Макрос, созданный в Word и PowerPoint, будет действовать для всех документов в дальнейшем. Чтобы макрос в Excel был доступен для всех документов, сохраните его в файле personal.xls, который запускается автоматически при открытии приложения. Выполните команду «Окно» -> «Отобразить» и выделите в появившемся окне строчку с названием файла personal.xls.

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

Выполните команду «Сервис» -> «Макрос» -> «Остановить запись». Вы создали объект VBA, не написав ни строчки кода самостоятельно. Однако если все же возникнет необходимость внести изменения вручную, войдите в объект через раздел «Макросы», команда «Изменить» или по сочетанию клавиш Alt+F8.

Всем доброго времени суток. На связи Алексей Гулынин. В данной статье я бы хотел рассказать о том, как записать макрос . В своих примерах я буду пользоваться Microsoft Excel 2007 , вы же можете пользоваться любой (желательно, что версия была не ниже моей). Зайдите в Excel, выберите Вид — Макросы — Запись макроса :

В версиях 2010 и 2013 панель может отличаться, но незначительно. Далее должно открыться вот такое диалоговое окно, которое называется "Запись макроса" :

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

В имени макроса использовать запрещено: пробелы, знаки препинания, цифры в начале имени. Можно использовать: английские и русские буквы, цифры (не в начале), знак подчеркивания. Также запрещено называть макрос, имя которого будет совпадать с любым существующим объектом в Excel.
Для макроса можно задать сочетание клавиш, при нажатии на которую, он будет запускаться. На все макросы не нужно вешать горячие клавиши, нужно вешать только на те, которые мы часто будем использовать. Вообще способов запустить макрос много, как вариант, можно разместить на ленте (начиная с 2010 версии), в 2007 версии лента есть, но её нельзя редактировать, можно разместить на листе. Также макрос можно запускать по какому-нибудь событию. У горячих клавиш есть чувствительность, как к регистру, так и к раскладке , поэтому внимательно относитесь к тому, какую горячую клавишу назначить макросу. Можете ставить большие буквы, для этого придётся нажимать Ctrl + Shift + Ваша буква .

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

Это почти обычный файл, и называется он Personal.xlsb . Этот файл находится в папке XLStart , и открывается он в скрытом режиме. Пока мы в этот файл ничего не записали — его не существует. Как только что-то запишем — он появится. Всё что находится в папке XLStart запускается автоматически. Плюс здесь в том, что макрос, который вы записали в личную книгу будет всегда доступен (его не нужно будет постоянно открывать — закрывать). Обращаю ваше внимание на то, что он будет доступен только на данном компьютере.
Также можно к макросу добавить описание.

Давайте запишем следующий макрос, который будет создавать новый лист и в ячейку C4 будет записывать фразу Привет VBA . Причем надпись должна быть красным цветом и стиль оформления: полужирный. Нажимаем ОК .
Вставляем лист таким образом:

Теперь в ячейку С4 записываем фразу Привет VBA . Затем нажимаем Ctrl + Enter , чтобы остаться в этой же ячейке и применить к ней форматирование. Если мы нажмём просто Enter , то фокус перейдёт на другую ячейку (нам этого не нужно). Затем правой кнопкой щелкаем по ячейке и выбираем Формат ячеек и переходим на вкладку Шрифт , выбираем красный и цвет и делаем шрифт жирным:

Нажимаем OK . Теперь можно наш макрос завершать. Сделать это можно несколькими способами: Вид — Макросы — Остановить запись , также можно отключить в левом нижнем углу (в 2007 версии) в панели состояния (на 3 картинке видно). Был создан "Лист4". Давайте удалим его и с помощью макроса создадим новый лист. Для этого воспользуемся горячей клавишей, которую мы задали для макроса Ctrl + Shift + Ц . Убедитесь, что вы находитесь на русской раскладке. Если вы сделали всё правильно, то у вас должен был создаться новый лист с нужной нам записью.

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

Чтобы записать макрос, нужно включить режим записи. Это можно сделать на вкладке Вид (View) в разделе Макросы (Macros) или в меню Сервис (Tools), если у Вас Excel 2003. Ниже на картинках показано, как выглядят эти меню.

Здесь, по желанию, можно ввести имя и описание для макроса. Рекомендуется давать макросу такое имя, чтобы, вернувшись к нему спустя некоторое время, можно было без труда понять, для чего этот макрос нужен. Так или иначе, если не ввести для макроса имя, то Excel автоматически назовёт его Макрос1 , Макрос2 и так далее.

Здесь же можно назначить сочетание клавиш для запуска записанного макроса. Запускать макрос таким способом будет значительно проще. Однако будьте осторожны! Если случайно назначить для макроса одно из предустановленных клавиатурных сочетаний Excel (например, Ctrl+C ), то в дальнейшем макрос может быть запущен случайно.

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

При включении режима записи макроса в строке состояния (внизу слева) появляется кнопка Стоп . В Excel 2003 эта кнопка находится на плавающей панели инструментов.


Нажмите Стоп , когда выполните все действия, которые должны быть записаны в макрос. Теперь код записанного макроса сохранён в модуле редактора Visual Basic .

Параметр «Относительные ссылки»

Просмотр кода VBA

Код VBA, записанный в макрос, размещается в модуле, который можно просмотреть в редакторе Visual Basic . Редактор можно запустить нажатием Alt+F11 (одновременное нажатие клавиш Alt и F11 ).

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

Запуск записанного макроса в Excel

Записывая макрос, Excel всегда создаёт процедуру Sub (не Function ). Если при создании макроса к нему было прикреплено сочетание клавиш, то именно с его помощью запустить макрос будет проще всего. Существует и другой способ запустить макрос:

  • Нажмите Alt+F8 (одновременно нажмите клавиши Alt и F8 );
  • В появившемся списке макросов выберите тот, который нужно запустить;
  • Нажмите кнопку В ыполнить (Run).

Ограничения

Инструмент Excel для записи макросов – это очень простой способ создавать код VBA, но подходит он только для создания самых простых макросов. Дело в том, что этот инструмент не умеет использовать многие возможности VBA, такие как:

  • Константы, переменные и массивы;
  • Выражения IF ;
  • Циклы;
  • Обращения к встроенным функциям или внешним процедурам.

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

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

Грамотно организовать процесс работы в эксэле помогут такие объекты, как макросы в Excel.

Рассмотрим более подробно все особенности работы с данными объектами в пакете программ MS Office.

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

Что такое макросы и зачем они нужны

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

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

Их создание и использование поможет существенно сэкономить время и максимально автоматизировать роботу в программе.

Важно! Благодаря созданному макросу можно просто мгновенно выполнять работу, в то время, как выполнение вручную занимало бы много времени.

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

С понятием макроса можно также столкнуться в программе Ворд, но в Экселе он имеет несколько преимуществ:

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

Создание собственных макросов в Excel 2010, 2007, 2013

Рассмотрим более подробно примеры создания в Excel 2007, 2013:


  • Откройте документ, с которым работаете и для которого хотите создать макрос. К слову, каждая ячейка, над которой производится действие должна быть проработана;
  • Отобразите вкладку разработчика в ленте. Для этого откройте пункт меню «Файл» и откройте параметры, как показано на рисунке;

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

  • Теперь можно перейти непосредственно к созданию самого макроса пользователя. После его создания, каждая ячейка будет автоматизирована – это означает, что любая ячейка пользовательского документа будет выполнять однотипное действие, которое укажет пользователь;
  • Найдите во вкладке разработчика специальную клавишу для создания. Ее расположение указано на рисунке ниже;

  • Нажмите на клавишу. Появится окно создания, в котором необходимо указать имя, сочетание клавиш, с помощью которых он будет включаться. Также можно добавить короткое описание функционирования макроса. Это необходимо сделать, если у вас их слишком много, чтобы не запутаться;

  • Далее нажмите «ОК» . Окно закроется и начнется процесс записи. Для остановки записи, нажмите соответствующую клавишу на панели управления;
  • Теперь начните выполнять те действия, которые будут записаны в макрос. Каждая ячейка при этом может заполняться определенными данными.
    Можно также работать только с одной ячейкой, после записи и включения макроса эта же ячейка будет записываться согласно указанному алгоритму;
  • Не забудьте нажать кнопку остановки записи данных. После выполнения всех вышеприведенных действия он будет записан и сохранен в программе.

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

Для этого следуйте нижеприведенной инструкции:


  • На вкладке разработчика найдите кнопку под названием «Макросы» . Нажмите на нее;

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

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

Создание и удаление макросов

Макросы создаются с помощью языка программирования под названием Visual Basic (или просто аббревиатура VB).

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

Впервые технология создания макросов в программе Эксель была усовершенствована и стала доступна для использования простыми юзерами в версии 2007-го года.

Удобнее всего их создавать в таких версиях Ворда: 2007, 2010, 2013.

Меню макросов

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

Существую разные типы операторов.

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

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

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

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

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

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

Чтобы удалить макрос, следуйте инструкции:


  1. Откройте окно управления с помощью клавиши «Макросы» на главной вкладке разработчика;
  2. Выберите необходимый вам объект и в правой части окна нажмите на кнопку удаления;