Макросы в excel для чего они нужны
Что такое макрос в Excel и для чего он предназначен?
Доброго времени, друзья. В сегодняшнем выпуске расскажу об интереснейшей функции в самом ходовом офисном пакете программ от Microsoft Office. Тем, кто постоянно работает с таблицами Excel, знает сколько рутинных операций приходится иногда делать с содержимым. Если документов много — приходится одни и те же действия повторять многократно. От выделения мышкой и копирования до более сложных — таких как вычисления, заполнение, очистка отдельных граф, создание таблиц, макетов и так далее.
Чтобы не повторять одни и те же действия каждый раз можно автоматизировать процесс и сэкономить время. Вы записываете свои действия (выделение ячеек документа, копирование, форматирование, ввод формул) в макрокоманду. Команда эта помещается в виде кнопки на панель инструментов. При нажатии кнопки все ваши записанные ранее действия выполняются автоматически. Это и есть «макрос».
Лично для меня знакомство с макросами в свое время превратилось в изучение программирования. Дело в том, что Microsoft Office является еще и легкой и понятной средой для этого. В нем есть свой встроенный язык — Visual Basic for Application или сокращенно VBA. И когда записываете макросы, Вы вы как бы становитесь программистом. При этом не обязательно на первых этапах знать язык. Программный код можно посмотреть уже потом, в редакторе и изучать. Как смотреть — об этом так же расскажу.
VBA позволяет создавать для себя мощные инструменты при работе с табличными документами для решения многих задач в виде отдельных окон, кнопок, списков, флажков — все визуально. А опытные программисты знают, что макросы можно использовать для того чтобы не набирать команды руками, а достать уже готовый код из только что записанного макроса. Но обо всем по порядку. Тем, кто после прочтения статьи заинтересуется и захочет изучать язык VBA самостоятельно в помощь книга. А сейчас разберемся подробно, что за «макросы», как их включать.
Что означает макросы и как с ними работать?
Итак, макрос — это некий программный код, который описывает ПОСЛЕДОВАТЕЛЬНОСТЬ ваших действий в документе. Записывается даже перемещение вашего курсора по ячейкам, нажатие клавиш. Сначала Вы записываете макрос. Когда понадобится, Вы в Excel запускаете этот код на выполнение и все записанные ранее действия выполняются автоматически. Например, у Вас есть одна и та же таблица, макет которой Вы каждую неделю создаете по новый, меняете оформление, или очищаете графы. Вы нажимаете кнопку, и вот, то на что вы тратили 5-10 минут заняло у вас всего одну секунду.
Сначала настроим «Ленту»; нужно включить «Режим разработчика»:
Если Вы собираетесь серьезно работать с макросами — нужно включить еще одну настройку. Здесь же переходим в «Центр управления безопасностью» и настраиваем «Параметры центра управления безопасностью»:
Нужно отключить все ограничения на запуск макросов. Это позволит Вам не только работать со своими макросами но и запускать уже готовые кем — то созданные.
Так же нужно доверять доступ к объектной модели проектов VBA. Ведь в Интернете или у коллег можно найти много готовых и интересных проектов VBA написанных для Excel, Word и пользоваться.
Что такое макрос в Excel 2007?
Мы пока что научимся записывать несложные макросы. Сделать это очень просто. В «Ленте» у нас теперь появились соответствующие значки «Разработчик»:
В этом режиме нам будут доступны и остальные функции — «режим конструктора». Можно самостоятельно создавать окна, кнопки. А в редакторе Visual Basic можно редактировать созданные макросы. Итак, покажу, как все это работает. При нажатии кнопки «Запись макроса» сначала нужно будет заполнить его наименование(без пробелов), горячие клавиши вызова (не обязательно) и место где он будет сохранен:
В зависимости от поставленной задачи Вы можете сохранять макросы в отдельном документе либо в «личной книге». В первом случае он записывается в пределах документа и будет выполняться только в документе. Во втором случае его можно вызвать перед созданием документа. Лучше продемонстрировать наглядно, для чего бывают нужны макросы. Задача: мне нужно создать: документ Excel, в документе создать таблицу определенного формата и вычислениями внутри. Смотрим видео, что получилось:
Вы сами увидели, что процесс создания одной простенькой демо — таблицы занимает от пяти и более минут. А макрокомандой мы таблицу создали за 2 секунды. А если речь идет о сложных проектах? Ответ очевиден, создав один раз процедуру, вы сэкономите время и увеличите производительность своей работы.
После окончания записи при закрытии Excel программа обязательно попросит сохранить изменения в «Личной книге» макросов. Не забываем согласиться; в противном случае записанный макрос пропадет и всё придется делать заново.
Важно! «Личная книга» макросов хранится в папке пользователя по пути C:\Users\%Пользователь компьютера%\AppData\Roaming\Microsoft\Excel\XLSTART. Этой книгой можно делится с другими или удалять, если что то не получилось.
Наш макрос теперь доступен по кнопке «Макросы», оттуда его можно запускать.
Что значит макрос в Excel 2016 и для чего он предназначен?
Процесс записи макросов не отличается от ранних версий; еще в одном простом примере расскажу о другом способе вызова макрокоманд. Создание макросов позволит Вам познакомится с навыками программирования и кто знает, может это интересное дело Вас увлечёт.
Представим, что у нас есть довольно громоздкая таблица, которую каждый раз приходится очищать от данных предыдущего отчета. Задача: сделать в документе кнопку, при нажатии на которую автоматически очищаются нужные ячейки. Начнем.
Для начала не забудем сделать настройки MSoffice 2016. Так же идем в «Параметры», но далее идем в «Настроить ленту»
После «Разработчик» станет видимым на «Ленте». Переходим туда. Наша личная книга макросов по прежнему на месте, откроем ее:
Запустим наш предыдущий макрос, любуемся, как программа сама создает и заполняет таблицу. В нашем примере есть две графы «Количество» и «Цена», содержимое которых приходится очищать. Мы автоматизируем процесс.
Как включить макросы в Excel 2016 видео
Можно вызывать макросы на исполнение, так как это мы уже делали в прошлом примере. Это не наглядно и иногда не очень удобно. Поэтому мы сделаем иначе — создадим в документе кнопку, с помощью которой будем очищать содержимое.
Нашей кнопке будет автоматически назначен макрос. Имя макроса, комбинацию клавиш, ставим произвольное, сохраняем в «Этой книге». Это означает, что работать кнопка будет только в этом документе.
Далее, программа предложит способ создания макроса. Если Вы уже продвинутый VBA- програмиист, можно руками написать код, нажав «Создать». Но мы сегодня будем использовать уже знакомый нам способ — запись наших действий:
Запись начата! Мы собираемся очистить выбранные графы от содержимого, поэтому одновременно выделим нужные диапазоны в графах «Количество» и «Цена». Для этого сначала выделим графу «Количество», затем зажимаем клавишу Ctrl и не отпуская ее выделяем нужные ячейки в графе «Цена», после отпускаем клавишу:
Использование нажатой клавиши Ctrl при выделении помогает выделять столбцы и области различных диапазонов ячеек одновременно. Не пренебрегайте этим в случае с большими таблицами.
Теперь, когда нужный диапазон ячеек выбран, нажимаем на клавиатуре клавишу Del и этим удаляем содержимое ячеек. Останавливаем запись макроса:
Как и любой объект с кнопкой можно производить различные действия — копировать, удалять, форматировать, назначать им макросы. Мы пока что изменим наименование. Чтобы добраться до свойств кнопки нужно по ней щелкнуть правой кнопкой мыши:
Я изменил текст на «Очистить». Цвет, размер текста шрифт в кнопках так же можно менять по вкусу. Заглянем для этого в «Формат объекта»:
Там все примерно так, как при форматировании ячейки. А изменять размеры самой кнопки и ее местоположение можно растягивая ее за края или перетаскивать:
Другой способ — можно щелкнуть правой кнопкой мыши по кнопке и выбрать «Назначить макрос»; результат будет аналогичный. Открылся редактор VBA, в котором можно делать много чего интересного и полезного. Мы пока смотрим, что мы там напрограммировали:
Простой и понятный пример кода; после комментариев (выделенных зеленым) идет сам код «Выбрать диапазон ячеек сначала один, затем другой, затем удаляем содержимое». Закрыть редактор можно как обычное окошко — нажав на крестик. Надеюсь, что такое макросы — Вы разобрались. Заодно узнали, как можно стать программистом. Удачи в освоении программы!
Канал в Telegram
Вы здесь
Для чего нужны макросы в Excel?
Многие из Вас наверняка слышали термин «Макрос». Иногда при запуске некоторых документов Word, а чаще Excel, Вам выскакивало предупреждение: «Данный документ содержит макросы, которые могут нанести вред Вашему компьютеру. С целью безопасности макросы были отключены» и т.д. И многих это предупреждение пугает, хотя большая доля правды в этом предупреждении все ж присутствует. Но, это относится к документам, попавшим к Вам из неизвестных источников, а именно из сети, по почте и т.д. Чем же так опасен макрос и для чего они тогда нужны, если их использование небезопасно? Рассмотрим далее, а пока дадим определение макросу.
Что такое «Макрос»?
Как работают макросы?
Благодаря внедрению в MS Office языка Visual Basic, Microsoft удалось значительно расширить функционал своих продуктов. Макрокоманды, записанные пользователями или написанные программистами, способны автоматизировать большинство процессов и значительно сократить время на обработку данных. Тем самым, оптимизировать рабочее время сотрудников. Для выполнения макрокоманд необходима своя программная среда, в которой эти команды способны работать. Такой средой являются, например Excel, Word, Access. При написании сложных макросов, их запуск и выполнение, как правило, ограничивается рабочей станцией (ПК) на которой он был написан. Сложные, имеется ввиду, подключение дополнительных компонентов и объектов, которые попросту могут отсутствовать на другом ПК. Происходит это потому, что программный код не переводится в исполняемый машинный код и вдобавок к которому прикладываются необходимые модули и библиотеки, а выполняется через интерпретатор. Но, есть и преимущества в таком подходе, а именно, возможность произвести отладку сразу, «на месте», при возникновении каких либо ошибок, просмотреть код и дополнить его новыми инструкциями, расширив функционал макроса. Как правило, макросы написанные для Excel, не работают в Word или Access, только если не используется базовый набор процедур и функций, которые не затрагивают объекты приложения.
Как макросы помогают в работе?
При работе с большими объемами данных, которые необходимо тем, или иным образом обрабатывать, а так же при выполнении однообразных действий по обработке информации в таблицах (например, формирование сводных таблиц определенного формата), макросы незаменимы. Пример: Вам ежедневно необходимо получать данные из БД, производить с этими данными некоторые расчеты, затем из результатов свести сводную таблицу. На все у Вас уходит, допустим, 2 часа. Разработав и внедрив такой макрос, который будет все эти действия производить самостоятельно, у Вас время сократиться до пары минут, а точнее секунд т.к. остальное уйдет на открытие и получение данных. А если еще к расчетам «вручную» добавить допущенные механические ошибки, которые обязательно бываю, и которые в лучшем случае Вы обнаружите и будете искать, то это еще добавит время к тем двум часам. Макрос же при грамотной разработке и хорошо протестированный, позволяет избежать таких ошибок.
Это один из многих вариантов применения. Другой пример, на личном опыте. При работе с ежедневными накопительными данными, мне приходилось заполнять поле «Контрагент» (КА) соответствующим именем, имеющимся в базе. Название КА должно обязательно быть идентичным. Создание списка очень неудобно т.к. список состоит не из одной сотни КА. Я написал макрос, который запускается на исполнение, при нажатии в соответствующей колонке, правой кнопкой мыши. Открывается форма, со списком КА в которой также имеется «горячий поиск» в списке т.е. достаточно начать вводить сочетание символов содержащихся в названии и список тут же отфильтрует и оставит подходящих, далее остается выбрать из двух трех КА нужного. На все про все, не больше 5 сек. Вот как вариант. И примеров можно приводить кучу, в зависимости от специфики работы.
В чем заключается опасность макросов?
Варианты защиты от таких макросов:
На этом я завершаю вводную статью по макросам. В дальнейшем, я расскажу и покажу способы записи макросов в Excel. Постараюсь подбирать интересные и полезные примеры, а так же рассмотрим, каким потенциалом обладает Excel, если посмотреть на него глазами программиста.
P. S. Используя смекалку и фантазию на VBA можно написать простейшие и интересные игры. Если Вас заинтересовал такой вариант применения, то можете ознакомиться с играми, написанными для Excel (игры в Excel).
Блог Ижевска
Макросы в Excel: что это
Все мы используем электронные таблицы Excel для решения повседневных задач. Многие программы имеют встроенный язык программирования, используя который можно не только вносить изменения в существующие формулы, но и создавать свои собственные программные коды. Сегодня поговорим о том, как включить макросы в Excel. Что такое макрос в Excel? Это программный код, который запускается при нажатии определенных клавиш на клавиатуре. В дальнейшем он помогает выполнять различные действия.
Макросы в Excel
Макросы в Excel – необходимый инструмент для всех пользователей, кто работает с систематизацией данный и их обработкой. Excel позволяет использовать макросы для автоматизации ежедневных вычислений, создания шаблонов и оформления текстовых документов. Макросы Excel – это сценарии, которые позволяют выполнить одну или несколько заранее определённых операций (называемых формулами). Формулы в макросах могут содержать встроенные функции и выражения. Запуск макросов осуществляется с помощью нажатия на кнопку Макросы в группе Абзац на вкладке Главная.
Также можно пойти и другим путем: включить макросы в Excel можно в окне Параметры –> Параметры Excel (или через главное меню Сервис –>Параметры –> вкладка Данные –>, кнопка Макрос). Выберите вкладку Доступные макросы и на ней нажмите кнопку Выбрать макросы. В окне Выбор макроса, укажите Макросы, которые нужно открыть. После этого на экране появится всплывающее окно, в котором можно добавить или удалить выбранные макросы и установить флажок в соответствующем поле, нажать кнопку ОК. Вы получите возможность включить указанные макросы в группу «Макросы».
Редактировать макросы в Excel не так сложно, как кажется. Как и в любом другом приложении, в Excel есть множество встроенных функций и макросов, которые позволяют легко добавлять новые элементы в существующий документ. Вы можете редактировать макрос во время его выполнения, или после его завершения. Чтобы редактировать макрос в Excel, нажмите кнопку «Макросы» на панели инструментов в левой части окна Excel.
Удаление макросов в Excel тоже может понадобиться. Например, для переноса листов в другую программу или для удаления отдельных страниц при создании книг. Но в этих случаях не требуется знать весь алгоритм действий. Достаточно иметь в наличии сам документ и знать, как его открыть и удалить макрос. Эта функция доступна из главного меню. И, конечно, желательно уметь пользоваться макросами.
Как записывать макросы в Microsoft Excel (руководство по автоматизации)
Russian (Pусский) translation by Ellen Nelson (you can also view the original English article)
Электронные таблицы находят своё применение во всех сферах. Я вижу, что все, от профессионалов в области корпоративных финансов до творческих фрилансеров, используют их для структуризации и организации своей работы. Вы можете использовать их для расчётов или только для записи информации. В любом случае трудно поспорить, насколько может быть полезным инструмент для работы с электронными таблицами, такой как Excel.
Итак, что, если вы работаете с таблицами изо дня в день, но проводите слишком много времени делая что-то снова и снова? Ответом будет – создание Microsoft Excel макроса, записать набор шагов, которые можно воспроизвести. Записать макрос, а затем применить его к новым данным, и вы увидите, как они меняются с этим набором записанных действий.
В этом уроке я научу вас создавать макрос в Excel. Вы узнаете, как использовать эти макросы для записи набора шагов и воспроизводить их, чтобы перестать выполнять повторяющиеся действия вручную. Поехали.
Что такое макросы в Excel и для чего они?
Как я уже сказал, макросы Microsoft Excel помогут сохранить вам уйму времени при работе с данными. Но, чтобы извлечь истинную пользу из макросов, вы должны понимать применение макросов в Excel.
Допустим, вы скачали данные с веб-сайта и импортировали их в Excel. Теперь вам нужно очистить их и изменить, возможно распределить по столбцам или другие изменения. Это требует времени и затруднительно делать тоже самое каждый раз.
Вот где макросы вступают в игру. Если вы знаете, что делаете, вы можете записать ваши шаги и просто воспроизвести их позже с другими данными.
Плюсы от создания макросов включают:
Читайте дальше, чтобы узнать, как самим записать макрос в Excel, чтобы воспользоваться этими и другими преимуществами.
Как сделать макрос в Excel (смотрим и учимся)
Лучший способ научиться это смотреть. Посмотрите видеоурок ниже, в котором я создаю простой макрос и применяю его к данным для автоматизации процесса.
В этом уроке, ниже вы найдёте иллюстрированную инструкцию. Я покажу вам пример того, как макрос может сохранить вам время при работе с данными в Excel.
Как создать макрос в Excel
Следуйте инструкции ниже, чтобы создать макрос в Excel:
1. Откройте вкладку разработчика
Чтобы создать макрос, найдите вкладку Разработчик на ленте Excel и нажмите на неё. Если вы не видите меню Разработчик, вам нужно его включить в Файл > Параметры > Настроить ленту. Посмотрите отмечен ли флажок напротив Разработчик, если нет, то поставьте его:
Чтобы видеть вкладку Разработчик на ленте, нужно включить её в настройках.
Теперь, нажмите на вкладку Разработчик. Слева вы видите несколько кнопок, относящихся к макросам в Microsoft Excel, которые мы будем использовать в этом уроке. Посмотрите есть ли у вас кнопки Макросы, Запись макроса и Относительные ссылки:
В этом уроке вы будете работать с левой стороной панели Разработчика, с параметрами Макросы и Записать макрос.
2. Запишите ваш первый макрос
В этом примере, давайте создадим макрос, который поможет нам автоматизировать обычную задачу в Excel: удалить все другие строки в наборе данных. Это не сложная задача, но она занимает слишком много времени и потребуется сделать очень много кликов.
Давайте создадим макрос для автоматизации этого. Сначала нам понадобятся образец данных. Я буду использовать ряд данных, которые я создал, как видите на снимке ниже.
Для начала нажмите на Относительные ссылки. Это сделает наш макрос более гибким. Вообще, если мы используем относительные ссылки, макрос будет автоматически подстраиваться под ячейки, которые мы хотим изменить.
Я думаю, что эта настройка говорит Excel к чему применять макрос. Если вы это не включите, макрос будет очень специфично осуществлять преобразования. Например, если вы запишите макрос, когда эта опция выключена и измените ячейки A1, A2, и A3, то макрос всегда будет изменять только те ячейки.
Но с функцией относительные ссылки, Excel смотрит на ссылки ячеек менее «буквально». Он применяет макрос относительно, например настраивается как «одна строка ниже, один столбец дальше» и такой подход достаточно гибкий для адаптации под ваши данные. Я рекомендую всегда записывать макросы с включеной опцией Относительные ссылки, тогда ваш макрос будет гибким.
Теперь, нажмите на Запись макроса. Вы увидите новое окно, где вы можете указать название макроса. Придумайте хорошее название, чтобы, когда у вас будет много макросов, вы помнили, что каждый из них делает с данными. А ещё установите клавиатурное сокращение:
Когда начнёте записывать маркос в Excel, вам понадобится задать ему название и установить клавиатурное сокращение.
Один важный параметр, который нужно изменить в этом окне — это в выпадающем списке Сохранить в выбрать Личная книга макросов.
Теперь, макрос смотрит за тем, что мы делаем и запоминает эти шаги. Начните что-нибудь делать. В моем случае, я начну кликать по каждой строке, чтобы эти шаги записались как часть моего макроса.
Причина, по которой я кликаю по всей строке с левой стороны, заключается в том, что макросы Microsoft Excel очень специфичны. Если я выделю только три столбца в строке, то при запуске макроса, он удалит только те три столбца. Поэтому, вместо этого, я выбираю всю строку целиком. Это помогает вам работать с наборами данных практически любой ширины:
При записи макроса я каждую ненужную строку, чтобы включить их в мой макрос «удаление других строк».
Лучше включить достаточно строк, чтобы макрос помогал вам быстрее работать в будущем. Это нормально, если вам нужно воспроизвести макрос несколько раз для очистки всего набора данных.
Как только выделите достаточное количество строк, правый клик и удалите строки. Затем нажмите Остановить запись на ленте. Макрос закончит записывать ваши шаги.
Вот и всё! Мы готовы воспроизвести макрос и удалить строки в новом наборе данных.
3. Воспроизведение макроса в Excel
Пришло время воспользоваться преимуществами наших трудов, воспроизведя макрос и применив те же преобразования к новому списку данных. Вот как запустить макрос в Excel.
Важное примечание об использовании макросов Microsoft Excel: они начинают воспроизводиться с того места, куда вы навели курсор мыши. В макросе Delete Every Other Row (Удалить каждую ненужную строку) он начнёт удаление строк, с той, на которой мы находимся. Помните об этом, чтобы макрос запускался и влиял на набор данных, который вы подразумеваете.
Теперь нажмите на меню Макросы. Откроются параметры и список всех макросов, которые вы записали для использования с вашими данными:
Выберите макрос во всплывающем окне, затем нажмите Выполнить, чтобы воспроизвести его и применить преобразования к данным.
Теперь Excel воспроизводит шаги изменения данных. Вы пронаблюдаете, как он волшебным образом проходит шаги и удаляет строки.
После воспроизведения макроса, все другие строки данных будут удалены.
Лучшее в макросах Excel – они применяются последовательно. Это поможет избежать ошибок в данных. К сожалению, это так же может быть и проблемой. Если ваши исходные данные существенно изменяются, макрос может не знать, как обработать данные и изменит данные некорректно.
Потратьте немного времени на проверку того, правильно ли макрос в Excel обрабатывает ваши данные. Если нужно, чтобы это было последовательным и повторяемым, то макрос идеален. Но, если формат и структура исходных данных постоянно меняется, макрос может не сработать.
Вот так работают макросы в Excel: нажмите Записать, выполните серию шагов, а затем воспроизведите его.
Узнайте больше о Excel
Только что, вы узнали, как записать макросы в Excel, но Excel может сделать гораздо больше. Электронные таблицы могут придать ощущение организованности и структурированности вашего проекта. Более того, макрос в Excel может помочь вам автоматизировать повторяющиеся задачи и скучную работу. Потратьте некоторое время на размышления о том, какие задачи вы выполняете снова и снова, а затем попытайтесь создать макрос для их решения.
Excel — это мощный инструмент, который имеет множество применений. Ознакомьтесь с уроками, приведёнными ниже, чтобы узнать больше вариантов работы с данными в Excel и приручить электронные таблицы:
Какие ваши любимые инструменты для экономии времени в Excel? Используете ли вы макросы или другие инструменты для работы с данными, чтобы ваша работа с электронными таблицами была выполнимой? Дайте мне знать в разделе комментариев ниже и поделитесь любимым советом с вашим приятелем, читателем Envato Tuts+.