Как сделать скрипт в excel

Обновлено: 07.07.2024

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

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

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

Table of Contents

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

В Excel нажмите комбинацию клавиш alt + F11. Это приведет вас к редактору VBA в MS Excel. Затем щелкните правой кнопкой мыши папку Microsoft Excel Objects слева и выберите Insert => Module. Это место, где сохраняются макросы. Чтобы использовать макрос, вам нужно сохранить документ Excel как макрос. Из табуляции File => Save as, выберите Save as macro-enabled Workbok (расширение .xlsm) Теперь пришло время написать свой первый макрос!

1. Копирование данных из одного файла в другой.

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

2. Отображение скрытых строк

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

3. Удаление пустых строк и столбов

Пустые строки в Excel - может быть проблемой для обработки данных. Вот как избавиться от них:

4. Нахождение пустых ячеек

13. Создание сводной таблицы

Вот как создать сводную таблицу в MS Excel (версия 2007). Особенно полезно, когда вы делаете индивидуальный отчет каждый день. Вы можете оптимизировать создание сводной таблицы следующим образом:

14. Отправка активного файла по электронной почте

15. Вставка всех графиков Excel в презентацию PowerPoint

Очень удобный макрос, который позволяет вам добавлять все ваши графики Excel в презентацию Powerpoint одним щелчком мыши:

16. Вставка таблицы Excel в MS Word

Таблицы Excel обычно помещаются внутри текстовых документов. Вот один автоматический способ экспорта таблицы Excel в MS Word:

17. Извлечение слов из текста

Мы можем использовать формулы, если хотим извлечь определенное количество символов. Но что, если мы хотим извлечь только одно слово из предложения или диапазон слов в ячейке? Для этого мы можем сами создать функцию Excel с помощью VBA. Это одна из самых удобных функций VBA, поскольку она позволяет создавать собственные формулы, которые отсутствуют в MS Excel. Давайте продолжим и создадим две функции: findword() и findwordrev():

Отлично, мы уже создали две новые функции в Excel! Теперь попробуйте использовать их в Excel. Функция = FindWordRev (A1,1) берет последнее слово из ячейки A1. Функция = FindWord (A1,3) берет третье слово из ячейки A1 и т. Д.

18. Защита данных в MS Excel

Иногда мы хотим защитить данных нашего файла, чтобы только мы могли его изменять. Вот как это сделать с VBA:

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

В процессе работы неоднократно приходиться сталкиваться с табличными процессорами типа Excel. И хотя это не совсем САПР, но информацию в рамках BIM контекста хочешь не хочешь, а приходится обрабатывать, либо с помощью Базы Данных, либо в тех самых экселевских табличках. А лучше и так и эдак.

Естественно, как и во всем, что связанно с компьютером эту деятельность тоже можно изрядно упростить с помощью автоматизации. С появлением таких вещей как Pivot Tables и Power Queries — так и вовсе становится не понятно как работали с информацией до этого. Но тут мы поговорим о старых добрых ламповых макросах на VBA.

Excel VBA Macro script

Макросы в экселе пишут на VBA (Visual Basic Advance) — слегка переработанный под нужды офисного пакета старый добрый Бейсик, со всеми своими достоинствами и недостатоками. Сами программы по умолчанию являются частью эксель файла. И убедится в этом можно с помощью соответствующей консоли (Microsoft Visual Basic for Application)

Добраться до них можно в любое время нажав сочетание клавишь Alt+F11

Но сначала надо включить вкладку Developers в стандартной ленте экселя.


  1. Ннаводим курсор на ленту и нажимаем Правую Клавишу Мыши (ПКМ)
  2. В открывшемся списке выбираем — Customize the Ribbon (Настройка Ленты)
  3. Ищем как показано на скриншоте пункт Developer (Разработка) и нажимаем чтобы появилась галочка
  4. Ок.

Путем этих не хитрых манипуляций мы получили доступ к панели разработчика в Excel — не будем особо заострять на ней внимание. Нам там понадобится буквально несколько кнопок

— Visual Basic — собственно уже обусжденная выше консоль для работы со скриптами.

— Macos — список доступных макросов для использования.

— Record Macro — эта кнопка позволяет включить запись ваших действий с табличным редактором.

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

Создаем собственную библиотеку Excel макросов — Personal.xlsb

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

Собственно смотрим на картинку:



1. Необходимо включить макрос на запись.

2. В появившемся окне в выпадающем списке выбрать пункт — Personal Macro Workbook. Если такого файла не существует — он будет создан автоматические (то что нам и нужно)

3. Запускаем скрипт на запись

4. И останавливаем её.

Готово. Теперь у нас есть файл в который наши модули и функции можно закинуть единожды, а доступны они будут сразу во всех эксель файлах. К тому же так они не утекут за пределы компании, вместе с файлами.

2 комментария

Виктория — однозначно что-то делаете не так. Макросы исключительно запоминают Ваши действия и воспроизводят их.

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

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Вопросы и ответы в сфере it технологий и настройке ПК

Для упрощения сбора информации, автоматизации ввода и вывода данных и многого другого используется программирование в excel.

Видео по написанию (программированию) макросов на VBA в Excel

VBA (Visual Basic for Applications) — разновидность языка программирования Visual Basic, входящая в пакет Microsoft excel

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

При написании кодов в excel программист использует:

В Excel есть собственная встроенная среда для разработки, вызвать которую можно комбинацией горячих клавиш Ctrl+F11

В Excel есть собственная встроенная среда для разработки, вызвать которую можно комбинацией горячих клавиш Ctrl+F11

DOM — Document object model (объектная модель документа) — независимый программный интерфейс, дающий возможность скриптам и программам находить доступ к содержимому XML, XHTML и HTML документов и менять оформление и структуру данных документов. DOM не ограничивает структуру документа, а представляет его в виде дерева узлов, любой из которых является элементом, атрибутом, графическим или текстовым объектом.

Программирование в Microsoft Office Excel удобно в освоении и может использоваться обычными пользователями. Разработка макрокоманд (макросов) в VBA автоматизирует рабочий процесс увеличивая его производительность.

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

Record and use Macros in Excel
Record and use Macros in Excel
Record and use Macros in 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, вам понадобится задать ему название и установить клавиатурное сокращение.

Один важный параметр, который нужно изменить в этом окне — это в выпадающем списке Сохранить в выбрать Личная книга макросов.

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

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

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

Как только выделите достаточное количество строк, правый клик и удалите строки. Затем нажмите Остановить запись на ленте. Макрос закончит записывать ваши шаги.

Вот и всё! Мы готовы воспроизвести макрос и удалить строки в новом наборе данных.

3. Воспроизведение макроса в Excel

Пришло время воспользоваться преимуществами наших трудов, воспроизведя макрос и применив те же преобразования к новому списку данных. Вот как запустить макрос в Excel.

Важное примечание об использовании макросов Microsoft Excel: они начинают воспроизводиться с того места, куда вы навели курсор мыши. В макросе Delete Every Other Row (Удалить каждую ненужную строку) он начнёт удаление строк, с той, на которой мы находимся. Помните об этом, чтобы макрос запускался и влиял на набор данных, который вы подразумеваете.

Теперь нажмите на меню Макросы. Откроются параметры и список всех макросов, которые вы записали для использования с вашими данными:

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

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

После воспроизведения макроса, все другие строки данных будут удалены.

Лучшее в макросах Excel – они применяются последовательно. Это поможет избежать ошибок в данных. К сожалению, это так же может быть и проблемой. Если ваши исходные данные существенно изменяются, макрос может не знать, как обработать данные и изменит данные некорректно.

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

Вот так работают макросы в Excel: нажмите Записать, выполните серию шагов, а затем воспроизведите его.

Узнайте больше о Excel

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

Excel — это мощный инструмент, который имеет множество применений. Ознакомьтесь с уроками, приведёнными ниже, чтобы узнать больше вариантов работы с данными в Excel и приручить электронные таблицы:

В макросах, как правило, прописывают последовательность действий с данными в таблице Excel.

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

Как создать простой макрос.

Создавать макросы в Excel можно двумя способами:

После того, как включили панель разработчика можно начинать запись макроса.

Чтобы записать макрос, следует:

Книга макросов

Записанные макросы отображаются в книге макросов.

Читайте также: