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

Как записать макрос в Excel? Пошаговая инструкция.

Для начала незначительно о терминологии. 

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

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

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

Теперь давайте погрузимся и поглядим, как записать макрос в Excel.

Отображение вкладки "Разработчик" в ленте меню

Перед тем как записывать макрос, необходимо добавить на ленту меню Excel вкладку "Разработчик". Для этого выполните последующие шаги:

  1. Щелкните правой клавишей мыши по хоть какой из имеющихся вкладок на ленте и нажмите «Настроить ленту». Он откроет диалоговое окно «Параметры Excel».
  2. В диалоговом окне «Параметры Excel» у вас будут характеристики «Настроить ленту». Справа на панели «Основные вкладки» установите флаг «Разработчик».
  3. Нажмите «ОК».

В итоге на ленте меню покажется вкладка "Разработчик"

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

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

Вот шаги для записи такового макроса:

  1. Перейдите на вкладку "Разработчик".
  2. В группе "Код" нажмите клавишу "Запись макроса". Откроется одноименное диалоговое окно.
  3. В диалоговом окне "Запись макроса" введите имя для собственного макроса, к примеру "ВводТекста". Есть несколько критерий именования, которые нужно соблюдать при назначении макроса. Например, вы не сможете употреблять пробелы меж ними. Обычно я предпочитаю сохранять имена макросов как одно слово, с различными частями с большим первым алфавитом. Вы также сможете применять подчеркивание для разделения 2-ух слов – к примеру, "Ввод_текста".
  4. Если вы желаете, то сможете задать сочетание клавиш. В этом случае мы будем употреблять ярлычек Ctrl + Shift + N. Помните, что сочетание, которое вы указываете, будет отменять любые имеющиеся горячие клавиши в вашей книге. Например, ежели вы назначили сочетание Ctrl + S, вы не можете употреблять это для сохранения рабочей книжки (вместо этого, каждый раз, когда вы его используете, он выполняет макрос).
  5. В поле "Сохранить в" удостоверьтесь, что выбрана функция "Эта книга". Этот шаг гарантирует, что макрос является частью рабочей книги.
  6. Введите описание при необходимости. Обычно я этого не делаю, но ежели у вас много макросов, лучше указать, чтоб в будущем не запамятовать что делает макрос.
  7. Нажмите "ОК". Как лишь вы нажмете OK, Excel начнет записывать ваши действия. Вы сможете узреть клавишу "Остановить запись" на вкладке "Разработчик", которая показывает, что выполняется запить макроса.
  8. Выберите ячейку A2.
  9. Введите текст "Excel" (или вы сможете употреблять свое имя).
  10. Нажмите кнопку Enter. Вы попадете на ячейку A3.
  11. Нажмите клавишу "Остановить запись" на вкладке "Разработчик".

Поздравляем! Вы лишь что записали собственный 1-ый макрос в Excel. Хотя макрос не делает ничего полезного, но он поможет нам понять как работает макрорекордер в Excel. 

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

  1. Удалите текст в ячейке A2. Это необходимо, чтоб проверить будет ли макрос вставлять текст в ячейку A2 либо нет.
  2. Выберите всякую ячейку – не считая A2. Это необходимо проверить, выбирает ли макрос ячейку A2 либо нет.
  3. Перейдите на вкладку "Разработчик".
  4. В группе "Код" нажмите клавишу "Макросы".
  5. В диалоговом окне "Макрос" щелкните макрос "ВводТекста".
  6. Нажмите клавишу "Выполнить".

Вы увидите, что как лишь вы нажмете клавишу "Выполнить", текст "Excel" будет вставлен в ячейку A2 и выбрана ячейка A3. Это происходит за миллисекунды. Но на самом деле макрос поочередно выполнил записанные действия.

Примечание. Вы также сможете запустить макрос с помощью сочетания клавиш Ctrl + Shift + N (удерживайте клавиши Ctrl и Shift, а потом нажмите кнопку N). Это тот же самый ярлычек, который мы назначили макросу при его записи.

Что записывает макрос?

Теперь перейдем к редактору кода и поглядим что у нас получилось.

Читайте также  Как сделать дисплей своими руками. Собираем игровой монитор своими руками

Вот шаги по открытию редактора VB в Excel:

  1. Перейдите на вкладку "Разработчик".
  2. В группе "Код" нажмите клавишу "Visual Basic".
     

Вы также сможете применять комбинацию кнопок Alt + F11 и перейти в редактор кода VBA.

Рассмотрим сам редактор кода. Дальше кратко опишем интерфейс редактора.

  • Панель меню: содержит команды, которые можно употреблять во время работы с редактором VB.
  • Панель инструментов – похожа на панель скорого доступа в Excel. Вы сможете добавить к ней дополнительные инструменты, которыми нередко пользуетесь.
  • Окно проектов (Project Explorer) – тут Excel перечисляет все книжки и все объекты в каждой книге. Например, ежели у нас есть книжка с 3 рабочими листами, она покажется в Project Explorer. Здесь есть несколько доп объектов, таковых как модули, пользовательские формы и модули классов.
  • Окно кода – фактически сам код VBA располагается в этом окне. Для каждого объекта, указанного в проводнике проекта, есть окно кода, к примеру, рабочие листы, книжки, модули и т. д. В этом уроке мы увидим, что записанный макрос находится в окне кода модуля.
  • Окно свойств – вы сможете узреть характеристики каждого объекта в этом окне. Я нередко использую это окно для обозначения объектов или изменения их свойств. 
  • Immediate Window (окно предпросмотра) – На исходном шаге оно для вас не понадобится. Оно полезно, когда вы желаете протестировать шаги или во время отладки. Он по умолчанию не отображается, и вы сможете его показать, щелкнув вкладку «View» и выбрав опцию «Immediate Window».

Когда мы записали макрос "ВводТекста", в редакторе VB произошли последующие вещи:

  • Был добавлен новейший модуль.
  • Макрос был записан с именованием, которое мы указали – "ВводТекста"
  • В окне кода добавлена новенькая процедура.

Поэтому, ежели вы два раза щелкните по модулю (в нашем случае модуль 1), покажется окно кода, как показано ниже.

 

Вот код, который записан макрорекодером:

Sub ВводТекста() ' ' ВводТекста Макрос ' '     Range("A2").Select     ActiveCell.FormulaR1C1 = "Excel"     Range("A3").Select End Sub

В VBA, неважно какая строчка , которая следует за ' (знак апострофа) не выполняется. Это комментарий, который предназначен лишь для информационных целей. Если вы удалите 1-ые 5 строк этого кода, макрос по-прежнему будет работать.

Теперь давайте пробежим по каждой строке кода и опишем что и зачем. 

Код начинается с Sub, за которым следует имя макроса и пустые круглые скобки. Sub – сокращение для подпрограммы. Каждая подпрограмма (также именуемая процедурой) в VBA начинается с Sub и заканчивается End Sub.

  • Range("A2").Select – эта строчка выбирает ячейку A2.
  • ActiveCell.FormulaR1C1 = «Excel» – эта строчка вводит текст "Excel" в активной ячейке. Поскольку мы избрали ячейку A2 в качестве первого шага, она становится нашей активной ячейкой.
  • Range("A3").Select – выбор ячейки A3. Это происходит, когда мы жмем кнопку Enter опосля ввода текста, результатом которого является выбор ячейки A3.

Надеюсь, что у вас есть некое базисное осознание того, как записывать макрос в Excel.

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

Абсолютная и относительная запись макроса

Вы уже понимаете про абсолютные и относительные ссылки в Excel? Если вы используете абсолютную ссылку для записи макроса, код VBA постоянно будет ссылаться на те же ячейки, которые вы использовали. Например, ежели вы выберете ячейку A2 и введете текст "Excel", то каждый раз – независимо от того, где вы находитесь на листе и независимо от того, какая ячейка выбрана, ваш код будет вводить текст "Excel" в ячейку A2.

Если вы используете параметр относительной ссылки для записи макроса, VBA не будет привязываться к определенному адресу ячейки. В этом случае программа будет "двигаться" относительно активной ячейки. К примеру, представим, что вы уже избрали ячейку A1, и вы начинаете запись макроса в режиме относительной ссылки. Теперь вы выбираете ячейку A2, вводите текст Excel и нажмите кнопку Enter. Теперь, ежели вы запустите этот макрос, он не возвратится в ячейку A2, заместо этого он будет передвигаться относительно активной ячейки. Например, ежели выбрана ячейка B3, она переместится на B4, запишет текст "Excel" и потом перейдет к ячейке K5.

Читайте также  Внешний жесткий диск подключить. Как подключить внешний жесткий диск через USB

Теперь давайте запишем макрос в режиме относительных ссылок:

  1. Выберите ячейку A1.
  2. Перейдите на вкладку "Разработчик".
  3. В группе "Код" нажмите клавишу "Относительные ссылки". Он будет подсвечиваться, указывая, что он включен.
  4. Нажмите клавишу "Запись макроса".
  5. В диалоговом окне "Запись макроса" введите имя для собственного макроса. Например,  имя "ОтносительныеСсылки".
  6. В функции "Сохранить в" выберите "Эта книга".
  7. Нажмите "ОК".
  8. Выберите ячейку A2.
  9. Введите текст "Excel" (или иной как для вас нравится).
  10. Нажмите кнопку Enter. Курсор переместиться в ячейку A3.
  11. Нажмите клавишу "Остановить запись" на вкладке "Разработчик".

Макрос в режиме относительных ссылок будет сохранен.

Теперь сделайте следующее.

  1. Выберите всякую ячейку (кроме A1).
  2. Перейдите на вкладку "Разработчик".
  3. В группе "Код" нажмите клавишу "Макросы".
  4. В диалоговом окне "Макрос" кликните на сохраненный макрос "ОтносительныеСсылки".
  5. Нажмите клавишу "Выполнить".

Как вы заметите, макрос записал текст "Excel" не в ячейки A2. Это вышло, поэтому что вы записали макрос в режиме относительной ссылки. Таким образом, курсор перемещается относительно активной ячейки. Например, ежели вы сделаете это, когда выбрана ячейка B3, она войдет в текст Excel – ячейка B4 и в конечном итоге выберет ячейку B5.

Вот код, который записал макрорекодер:

Sub ОтносительныеСсылки() ' ' ОтносительныеСсылки Макрос ' '     ActiveCell.Offset(1, 0).Range("A1").Select     ActiveCell.FormulaR1C1 = "Excel"     ActiveCell.Offset(1, 0).Range("A1").Select End Sub

Обратите внимание, что в коде нет ссылок на ячейки B3 либо B4. Макрос употребляет Activecell для ссылки на текущую ячейку и смещение относительно данной нам ячейки.

Не обращайте внимание на часть кода Range(«A1»). Это один из тех случаев, когда макрорекодер добавляет ненадобный код, который не имеет никакой цели и может быть удален. Без него код будет работать отлично.

Что нельзя сделать с помощью макрорекодера?

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

  • Вы не сможете выполнить код без выбора объекта. К примеру, ежели вы желаете, чтоб макрос перебежал на последующий рабочий лист и выделил все заполненные ячейки в столбце A, не выходя из текущей рабочей таблицы, макрорекодер не сумеет этого сделать. В таковых вариантах для вас необходимо вручную редактировать код.
  • Вы не сможете сделать пользовательскую функцию с помощью макрорекордера. С помощью VBA вы сможете создавать пользовательские функции, которые можно употреблять на рабочем листе в качестве обыденных функций.
  • Вы не сможете создавать циклы с помощью макрорекордера. Но сможете записать одно действие, а цикл добавить вручную в редакторе кода. 
  • Вы не сможете анализировать условия: вы сможете проверить условия в коде с помощью макрорекордера. Если вы пишете код VBA вручную, вы сможете использовать операторы IF Then Else для анализа условия и пуска кода, ежели true (или иной код, ежели false).

Расширение файлов Excel, которые содержат макросы

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

До Excel 2007 был достаточен один формат файла – .xls. Но с 2007 года .xlsx был представлен как обычное расширение файла. Файлы, сохраненные как .xlsx, не могут содержать в для себя макрос. Поэтому, ежели у вас есть файл с расширением .xlsx, и вы записываете / записываете макрос и сохраняете его, он будет предупреждать вас о сохранении его в формате с поддержкой макросов и покажет для вас последующее диалоговое окно:

Если вы выберете "Нет", Excel сохранить файл в формате с поддержкой макросов. Но ежели вы нажмете "Да", Excel автоматом удалит весь код из вашей книжки и сохранит файл как книжку в формате .xlsx. Поэтому, ежели в вашей книжке есть макрос, для вас необходимо сохранить его в формате .xlsm, чтоб сохранить этот макрос.

Читайте также  Для просмотра 3d стереоплеер. Stereoscopic Player 2.5.1

Два метода, как включить макросы в Excel 2010

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

Способ №1: Через меню “Разработчика”

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

  1. Запустите программу.
  2. Выберите в главной строке клавишу “Файл”.
  3. В появившемся меню выберите пункт “Параметры”.
  4. В новеньком окне, которое покажется опосля нажатия, для вас нужно перейти в категорию “Разработчик”.
  5. Теперь в правом окошке установите галочку напротив “Разработчик”.
  6. Кликните на клавишу “ОК”.

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

  1. Перейдите на вкладку “Разработчик”.
  2. В группе инструментов “Код” нажмите по кнопочке “Безопасность макросов”, которая выполнена в виде восклицательного знака на желтоватом фоне.
  3. Появится новое окно под заглавием “Центр управления безопасностью”. Найдите в перечне раздел “Параметры макросов”.
  4. Для включения макросов для вас нужно установить переключатель в соответственное положение.
  5. Нажмите клавишу “ОК”.

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

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

Способ №2: Через характеристики программы

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

  1. Запустите програмку и перейдите во вкладку “Файл”.
  2. В появившемся меню перейдите в категорию “Параметры”.
  3. Теперь необходимо в новеньком окне, которое раскрылось опосля нажатия, перейти в “Центр управления безопасностью”.
  4. Далее в правой области окна нажмите “Параметры центра управления безопасностью”.
  5. Как не трудно додуматься, опосля этого покажется одноименное окно, которое нам знакомо по предшествующей аннотации. В нем для вас необходимо перейти в раздел “Параметры макросов”.
  6. В одноименной области справа, установите галочку рядом с “Включить все макросы”, чтоб они заработали.

Вот так можно включить макросы в програмке Excel 2010-го года выпуска. Ну а каким методом воспользоваться, как постоянно, – решать лишь вам.

Включаем макросы в остальных версиях программы

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

Если вы не понимаете, как включить макросы в Excel 2007, то на данный момент мы объясним. Дело в том, что интерфейс уже во многом различается от 2010-й версии. Так, заместо вкладки “Файл” в ней логотип MS Office. Но есть достаточно обычной метод включения макросов, вот он:

  1. В меню перейдите в раздел “Сервис”.
  2. Далее выберите строку “Макрос”.
  3. Далее нажмите на раздел “Безопасность”.

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

Заключение

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

Статья закончилась. Вопросцы остались?

Оставьте комментарий