Содержание
- Как включить макросы в Excel
- Как вставить макрос в Excel
- Как запустить макросы в Excel
Макрос – это специальная программа, написанная на встроенном в Excel языке программирования Visual Basic for Application (VBA). Если вам часто приходится выполнять одни и те же операции в Эксель, то гораздо проще записать макрос или найти готовый код макроса, для выполнения определенных действий в Интернете.
Во втором случае, Вы найдете макрос в виде VBA-кода. В этом обычно и состоит вопрос: как добавить макрос в рабочий лист Excel, и как им пользоваться.
Как включить макросы в Excel
Чтобы Вы могли использовать макросы в работе, для начала их нужно включить. Кликаем по кнопочке «Файл» , в левом верхнем углу, и выбираем из списка «Параметры» .
В окне «Параметры Excel» перейдите на вкладку «Настройка ленты» , теперь в правой части окна поставьте галочку напротив пункта «Разработчик» и нажмите «ОК» .
Вверху на ленте появится новая вкладка «Разработчик» . На ней и будут находиться все необходимые команды для работы с макросами.
Теперь разрешим использование всех макросов. Снова открываем «Файл» – «Параметры» . Переходим на вкладку «Центр управления безопасностью» , и в правой части окна кликаем по кнопочке «Параметры центра управления безопасностью» .
Кликаем по вкладке «Параметры макросов» , выделяем маркером пункт «Включить все макросы» и жмем «ОК» . Теперь перезапустите Excel: закройте программу и запустите ее снова.
Как вставить макрос в Excel
Важно понимать, что макрос можно вставить в модуль, рабочий лист, рабочую книгу, или они могут являться частью пользовательской формы.
Вставим код макроса в модуль
Например, нужно объединить несколько ячеек в одну без потери данных. Как известно, Excel может объединять ячейки, сохраняя данные только из левой верхней ячейки. Чтобы сохранить все данные из объединяемых ячеек, будем использовать VBA-код.
Открываем редактор VBА: переходим на вкладку «Разработчик» и кликаем по кнопочке «Visual Basic» , также можно воспользоваться комбинацией «Alt+F11» .
С левой стороны редактора, в окне «Project» , выделяем мышкой рабочую книгу. Рабочая книга – это Ваш открытый документ Excel, в который нужно вставить макрос. У меня он называется «Книга1» .
Кликаем по выбранному пункту правой кнопкой мыши и выбираем из меню «Insert» – «Module» .
В окне «Project» появилась новая папка «Modules» , а в ней наш первый модуль с названием «Module1» .
Справа появится поле для ввода VBA-кода. С помощью комбинации «Ctrl+V» , вставляю в него код, который будет объединять несколько ячеек, без потери данных. Название макроса «MergeCell» .
Следите за тем, куда Вы вставляете код, это будет написано или в заголовке редактора, или в заголовке окна для вставки кода. Мы вставляем код в модуль, соответственно надпись – «Modul1(Code)» .
Сохраняем изменения, нажав комбинацию «Ctrl+S» . Если Вы используете Excel 2007 и выше, появится окно сохранения документа. В нем, в поле «Тип файла» , выберите из выпадающего списка «Книга Excel с поддержкой макросов» и нажмите «Сохранить» .
Вставим код макроса в рабочий лист
Например, у нас есть выпадающий список. Нужно сделать так, чтобы при выборе нескольких значений из него, они появлялись в ячейках справа.
Читайте также: Как выключить ввод пароля в windows 10
Открываем редактор VBA и в окошке «Project» выделяем нужный лист, если их в рабочей книге несколько, на котором должен работать макрос: «Лист1 (Лист1)» . Кликаем по нему два раза мышкой.
Справа появиться окошко для ввода кода. Обратите внимание, мы вставляем код в рабочий лист, соответственно в заголовке написано «Лист1(Code)» . Сохраните изменения в документе, как было описано выше.
Чтобы вставить код макроса в рабочую книгу , кликните два раза мышкой по пункту «ЭтаКнига» и вставьте код в появившуюся область.
Создадим пользовательскую функцию
Например, создадим функцию, которая будет рассчитывать НДС. В окне «Project» кликаем по рабочему листу правой кнопкой мыши и выбираем «Insert» – «Module» .
В папке «Modules» , появляется второй модуль с названием «Module2» . Прописываем VBA-код в соответствующее окно, и сохраняем его, нажав «Ctrl+S» . Называться функция будет «NDS» .
Как запустить макросы в Excel
Теперь рассмотрим, как выполняются все созданные ранее макросы в документе Excel.
Если макрос был вставлен в модуль , то он запускается пользователем. У меня такой макрос объединяет несколько ячеек в одну без потери данных.
Выделяем ячейки, которые нужно объединить, затем переходим на вкладку «Разработчик» и кликаем по кнопочке «Макросы» .
Откроется диалоговое окно «Макрос» . В списке, выбираем нужное имя макроса: «MergeCell» , и жмем «Выполнить» .
Макрос выполнился: нужные ячейки объединены, и текст в них сохранен.
Если макрос был вставлен в рабочий лист , то запускаться он будет автоматически, в зависимости от действий пользователя. У меня макрос добавляет значения из выпадающего списка в ячейки справа. В код вставлен то диапазон ячеек, в котором находятся выпадающие списки.
Теперь, когда я выбираю из выпадающего списка значение, оно вписывается в ячейки, расположенные справа от той ячейки, в которой находится сам список. Это свидетельствует о выполнении макроса.
Если макрос вставлен в рабочую книгу , он также выполняется автоматически, когда пользователь производит определенные действия над книгой: закрывает ее, или сохраняет.
Если Вы создали пользовательскую функцию , то вставлять в документ ее также надо как функцию. У меня такая функция должна рассчитывать НДС.
Например, применим ее к ячейке А1 , со значением «100» . Выделяем ячейку, в которую будет вписан результат. Затем переходим на вкладку «Формулы» и нажимаем кнопочку «Вставить функцию» .
Откроется окно «Мастер функций» . В поле «Категория» выбираем из выпадающего списка «Определенные пользователем» , в поле «Выберите функцию» выбираем название из списка: «NDS» . Нажимаем «ОК» .
Затем выделяю ячейку, для которой нужно посчитать НДС, и нажимаю «ОК» .
Включить макросы в документе Excel 2010 совершенно не сложно. Надеюсь, Вы также разобрались, как вставить макрос в Excel, а затем выполнить его.
Как включить макросы (разрешить использование макросов) в Excel 2019:
Видеоинструкция по включению макросов в Excel 2019
В Excel 2019 процесс включения макросов полностью идентичен этому же действию в Excel 2010:
1) На ленте нажмите пункт меню «Файл», а потом в открывшемся меню — кнопку «Параметры»:
2) В открывшемся окне «Параметры Excel» в левом столбце выделите пункт «Центр управления безопасностью»,
после чего справа (в том же окне) — нажмите кнопку «Параметры центра управления безопасностью»:
Читайте также: Как заделать скол на капоте автомобиля
3) В открывшемся окне «Центр управления безопасностью» выделите пункт «Параметры макросов»,
и справа отметьте опцию «Включить все макросы»:
4) Перезапустите Excel (полностью его закрыв, и открыв снова), чтобы изменения настроек вступили в силу.
ВАЖНО: После того, как в настройках Excel вы включили макросы (установили низкий уровень безопасности),
необходимо полностью закрыть Excel, и запустить его заново, — только после этого настройки применятся.
Если Вы не сильны в программировании, но, при этом, Вам необходимо реализовать какую-либо задачу, выходящую за рамки стандартных функций и команд MS Excel, можно поискать решение в интернете. Решение, скорее всего, найдется в виде VBA кода, который необходимо скопировать и вставить в Вашу рабочую книгу, потом каким-то образом заставить этот код работать на Вас, в этой статье я расскажу, как это сделать.
Файлы для скачивания:
Описание
Размер файла:
Скачивания
14 Кб
1721
Рассмотрим два примера:
1. Ищем и используем команду
Например, нам необходима команда, которая бы вставляла в выделенные ячейки цифру "1". Запускаем поисковик, набираем поисковую фразу, получаем результаты, начинаем просматривать, находим код примерно в таком виде:
Выделяем данный код (без нумерации строк, начиная со слова Sub) и нажимаем Ctrl+C. Переходим в свою рабочую книгу MS Excel и нажимаем сочетание клавиш Alt+F11, у вас откроется окно редактора VBA:
В левом окне "Project — VBA Project" выбираем (щелкаем мышкой) нашу рабочую книгу, в которую необходимо вставить макрос, например, "VBAProject (Книга2)":
В пункте меню "Insert" выбираем "Module":
В левом окне "Project — VBA Project" у вас должна появиться новая папка "Modules" и в ней новый объект "Module1":
Переходим курсором в правое "Большое" поле для ввода и нажимаем Ctrl+V, скопированный макрос вставиться в модуль:
После чего закрываем редактор VBA и возвращаемся в рабочую книгу.
Если вы работаете в MS Excel 2007, 2010 или 2013, вам необходимо будет сохранить вашу рабочую книгу как "Книга Excel с поддержкой макросов (.xlsm)":
В MS Excel 2003 достаточно будет просто сохранить файл.
Чтобы выполнить скопированный в книгу макрос выделяем ячейки, в которые необходимо вставить "1", нажимаем в меню "Вид" кнопку "Макросы" и в выпавшем списке выбираем пункт "Макросы" или нажимаем сочетание клавиш Alt+F8:
Откроется диалоговое окно "Макрос", в списке макросов выбираем свой и нажимаем кнопку "Выполнить":
Макрос выполнится — в выделенные ячейки вставиться "1":
Макросы в MS Excel можно вставлять в следующие места:
- В Модуль, обычно вставляют код макросов, запуск которых будет производится по нажатию кнопки пользователем (как, например, в нашем случае) или код функций (формул);
- В Рабочий лист, обычно вставляют код макросов, запуск которых должен происходить автоматически в зависимости от действий пользователя или изменения данных в листе (поменялись данный, макрос выполнился);
- В Рабочую книгу, обычно вставляют код макросов, запуск которых должен происходить автоматически в зависимости от действий, производимых над книгой (файлом). Например, макрос, который запускается при открытии или закрытии книги, или при ее сохранении;
- Так же макросы могут быть частью пользовательской формы.
Читайте также: Как выглядят предохранители в телевизорах
Обычно, человек, который публикует код, указывает, куда его необходимо вставить, в модуль, в лист или книгу.
Чтобы вставить код в Рабочий лист, в левом окне редактора VBA выберите соответствующий лист, щелкните по нему два раза левой кнопкой мышки, переместите курсор в правое поле ввода и вставьте код.
Для вставки кода в Книгу, выберите "ЭтаКнига":
Давайте потренируемся. Вставьте код опубликованный ниже в "Лист1".
Данный макрос выводит информационное сообщение если вы введете в любую ячейку листа "2".
Вернитесь в рабочую книгу, перейдите в "Лист1" и введите в ячейку "А1" цифру "2" и нажмите Enter, после чего у вас должно появиться следующее сообщение:
Если вы видите это сообщение, то вы все сделали правильно. Если нет, то вы вставили код куда-то не туда, повторите попытку.
При вставке кода, необходимо внимательно следить за тем, куда вы его вставляете. Это можно сделать посмотрев на то, что написано в заголовке окна редактора VBA:
2. Ищем и используем функцию
Находим в интернете VBA код функции, которая подсчитывает, например, количество слов в ячейке:
Копируем код, нажимаем сочетание клавиш Alt+F11, откроется редактор VBA:
Добавляем новый модуль в свою книгу и в этот модуль вставляем скопированный код:
Закрываем редактор VBA и переходим в свою рабочую книгу. Создаем новый лист (необязательно) в ячейку A1 вводим текст "мама мыла раму". Встаем в ячейку, в которой хотим получить результат (количество слов), в меню "Формулы" нажимаем кнопку "Вставить функцию":
В открывшемся окне "Вставка функции" в поле "Категория" выбираем "Определенные пользователем"
В списке доступных функций выбираем "КолСловВЯчейке", нажимаем "ОК":
Вводим необходимые аргументы и нажимаем "ОК":
Важно:
Если вы не сохраните книгу, в которую вставили макрос как "Книгу с поддержкой макросов", все модули с макросами удаляться и вам придется, потом, повторно проделывать всю эту работу.
Если при вставке макроса в модуль у вас вместо некоторого текста стоят красные знаки " . "
Это значит, что у вас проблема с кодировкой, которая наблюдается с копированием Кириллического текста из некоторых браузеров. Чтобы победить эту проблему, попробуйте вставить скопированный код в пустой лист MS Excel, как "Текст в кодировке Unicode". Для этого перейдите в книгу MS Excel, выберите или создайте пустой лист, встаньте в ячейку "A1" и нажмите сочетания клавиш Ctrl+Alt+V. Должно будет появиться меню "Специальной вставки", выберите пункт "Текст в кодировке Unicode" и нажмите "OK".
Код должен будет вставиться в рабочий лист без знаков вопроса:
После этого, еще раз скопируйте вставленный в лист код, и вставить его уже в модуль.
Если вы не видите в редакторе VBA окна "Project — VBA Project", перейдите во вкладку меню "View" и в списке выберите пункт "Project Explorer" или нажмите сочетание клавиш Ctrl+R:
Источник: