Excel vba макрос

Атанас Йонков Блоггер, Веб-разработчик
yonkov.atanas@gmail.com

В этом уроке я покажу Вам самые популярные макросы в 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. Создание сводной таблицы

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

Мой любимый код VBA. Он позволяет вам прикреплять и отправлять файл, с которым вы работаете, с предопределенным адресом электронной почты, заголовком сообщения и телом сообщения! Сначала Вам нужно сделать референцию в Excel на Microsoft Outlook (в редакторе Excel VBA, нажмите tools => references и выберите Microsoft Outlook).

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 и компьютерных наук в целом.

Источник: yonkov.github.io

VBA Excel. Макросы (запись, запуск, пример)

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

Вкладка «Разработчик»

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

Excel 2010-2016

Переходим по пути: Файл — Параметры — Настроить ленту. В разделе «Настроить ленту» справа в списке «Основные вкладки» устанавливаем флажок «Разработчик» и нажимаем кнопку «OK».

Excel 2007

Переходим по пути: значок «Microsoft Office» — Параметры Excel — категория «Основные», в категории «Основные» устанавливаем флажок «Показывать вкладку «Разработчик» на ленте» и нажимаем кнопку «OK».

Excel 2000-2003

Здесь ничего отображать не надо: кнопки по работе с макросами и редактором VBA находятся в главном меню на вкладке «Сервис» — «Макрос».

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

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

Excel 2007-2016

На ленте во вкладке «Разработчик» нажмите кнопку «Запись макроса».

Excel 2000-2003

Пройдите по пунктам меню «Сервис» — «Макрос» — «Начать запись».

Окно «Запись макроса»

Имя макроса: можно изменить или оставить по умолчанию («Макрос» с очередным номером). Если у вас уже есть макрос с таким именем, он будет записан в новый программный модуль, который будет создан автоматически.

Сочетание клавиш: добавьте букву, если хотите запускать макрос сочетанием клавиш Ctrl+«буква». В какой раскладке вы впишите букву (например, «й» или «q»), в той и будет запускаться макрос. Если буква будет вписана в верхнем регистре («Й» или «Q»), используйте для запускa макроса сочетание клавиш Ctrl+Shift+«буква».

Читайте также:  Как в эксель отключить макросы

Сохранить в: выберите книгу, в которой должен быть сохранен макрос:

  • «Эта книга» — макрос будет записан в книге, из которой рекордер был запущен (нажата кнопка «Запись макроса»).
  • «Новая книга» — откроется новая книга и макрос будет записан в ней.
  • «Личная книга макросов» — макрос запишется в Личную книгу макросов и будет доступен из всех открытых книг Excel.

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

Заполнив окно, нажимаем кнопку «OK», кнопка «Запись макроса» меняет свое название на «Остановить запись», и можно приступать, собственно, к записи макроса. Выполните на рабочем листе операции, последовательность которых вы хотите автоматизировать и, после их завершения, нажмите кнопку «Остановить запись». Макрос будет записан и появится в списке макросов.

Список макросов

Окно со списком макросов открывается во всех версиях Excel нажатием кнопки «Макросы». Выглядит оно следующим образом:

Список макросов во всех открытых книгах

  • Выполнить — выделенный макрос будет запущен на выполнение.
  • Войти — переход к коду макроса, запущенному и поставленному на паузу, как при обнаружении ошибки в коде.
  • Изменить — переход к коду макроса для редактирования.
  • Создать — кнопка станет активной при записи имени нового макроса в поле «Имя макроса».
  • Удалить — удаление выделенного макроса.
  • Параметры… — редактирование сочетания клавиш для запуска макроса и его описания.
  • Находится в: — здесь можно выбрать все открытые книги или одну из них.
  • Описание — текст, добавленный в одноименное поле при создании макроса или редактировании его параметров.

Запуск макроса

Запустить записанный макрос можно следующими способами:

  • Сочетанием клавиш, указанным в параметрах макроса.
  • Кнопкой «Выполнить» из окна списка макросов.
  • Кнопкой «Run Sub» или клавишей «F5» из редактора VBA.
  • Кнопкой, добавленной на лист Excel из раздела «Элементы управления формы» и которой назначен запускаемый макрос.

Кроме этого макрос можно назначить изображению, добавить кнопку запуска на панель быстрого доступа и в меню (на ленту).

Пример записи простого макроса

Выполните следующие действия:

Excel 2007-2016

  1. Откройте книгу Excel или создайте новую и сохраните ее как книгу с поддержкой макросов (.xlsm).
  2. На вкладке «Разработчик» нажмите кнопку «Запись макроса».
  3. В окне «Запись макроса» нажмите кнопку «OK», оставив параметры по умолчанию.
  4. Перейдите на вкладку «Главная» и выберите любой цвет заливки ячеек.
  5. Нажмите кнопку «Остановить запись».

Excel 2000-2003

  1. Откройте книгу Excel или создайте новую и сохраните ее с расширением по умолчанию (.xls).
  2. Включите запись макроса, пройдя по пунктам меню «Сервис» — «Макрос» — «Начать запись».
  3. В окне «Запись макроса» нажмите кнопку «OK», оставив параметры по умолчанию.
  4. На панели инструментов выберите любой цвет заливки ячеек.
  5. Нажмите кнопку «Остановить запись».

В результате будет записан простейший макрос окрашивания фона выделенной ячейки или диапазона.

Откройте список макросов, выберите записанный макрос и нажмите кнопку «Изменить». Вы увидите код вашего макроса:

Число (5296274) в вашем примере будет другим, в зависимости от выбранного цвета заливки.

Выберите на активном листе любую ячейку или диапазон, вернитесь в редактор VBA и нажмите клавишу «F5» (курсор должен находиться в любом месте внутри кода запускаемого макроса). На активном листе выделенный диапазон окрасится в выбранный при записи макроса цвет.

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

Скопируйте этот код и вставьте его внизу, под вашим макросом, в редакторе VBA (числовое значение цвета можете изменить на свое или оставить, как в примере). Проверьте его работоспособность, выбрав незакрашенные ячейки и запустив макрос клавишей «F5», не забыв о том, что курсор должен находиться внутри этого макроса.

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

Назначение макроса кнопке

Теперь давайте назначим записанный макрос (любой из двух) кнопке, добавленной на лист Excel из раздела «Элементы управления формы»:

Excel 2007-2016

  1. На вкладке «Разработчик» нажмите кнопку «Вставить» и в разделе «Элементы управления формы» кликните по изображению кнопки.
  2. Переведите курсор на табличную область листа, курсор примет вид крестика, и кликните левой кнопкой мыши.
  3. В открывшемся окне «Назначить макрос объекту» выберите один из новых макросов и нажмите кнопку «OK». Если нажать кнопку «Отмена», новая кнопка будет создана без назначенного макроса. Его можно будет назначить позднее, кликнув по ней правой кнопкой мыши и выбрав в контекстном меню «Назначить макрос…»

Excel 2000-2003

    1. Отобразите панель инструментов «Формы», пройдя по пунктам меню «Вид» — «Панели инструментов» — «Формы».
    2. Кликните по Кнопке на панели инструментов «Формы», затем переведите курсор на табличную часть рабочего листа, нажмите левую кнопку мыши и, не отпуская ее, нарисуйте прямоугольник (контур кнопки) нужного размера, затем отпустите кнопку мыши.
    3. В открывшемся окне «Назначить макрос объекту» выберите один из новых макросов и нажмите кнопку «OK». Если нажать кнопку «Отмена», новая кнопка будет создана без назначенного макроса. Его можно будет назначить позднее, кликнув по ней правой кнопкой мыши и выбрав в контекстном меню «Назначить макрос…»

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

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

Сокращенный вариант кода по очистке фона будет выглядеть так:

Источник: vremya-ne-zhdet.ru

Макросы VBA Excel

Получение списка файлов в папке и подпапках средствами VBA

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

  • 159 комментариев
  • Читать далее
  • 245211 просмотров
  • 2 прикреплённых файла

Выпадающий календарь в ячейке (выбор даты на листе Excel)

Надстройка samradDatePicker (русифицированная) для облегчения ввода даты в ячейки листа Excel.

Читайте также:  Полезные макросы в excel

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

Поместите файл надстройки из вложения в папку автозагрузки Excel (C:Program FilesMicrosoft OfficeOFFICExxXLSTART).

В контекстном меню ячеек появляется новый пункт – “Выбрать дату из календаря“.
Рядом с ячейками, в которые уже введена дата, будет отображаться маленький календарик, щелчок по которому вызовет большой календарь – для выбора даты.

  • 79 комментариев
  • Читать далее
  • 242331 просмотр
  • 2 прикреплённых файла

Удаление (скрытие) строк по условию

макрос удалит на листе все строки, в которых содержится искомый текст:

  • 284 комментария
  • Читать далее
  • 197826 просмотров
  • 2 прикреплённых файла

Поиск в Excel

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

Штатными средствами Excel вывести поле для поиска на панель инструментов не удаётся, а вызывать каждый раз диалоговое окно нажатием комбинации клавиш Ctrl + F не всегда удобно.

На помощь придёт эта надстройка – она формирует в строке меню Excel 2003 поле для поиска по всем листам:

Достаточно ввести искомый текст, и нажать клавишу Enter, – и перед вами полный список всех подходящих ячеек со всех листов книги.

  • 42 комментария
  • Читать далее
  • 180657 просмотров
  • 1 прикреплённый файл

Вывод диалоговых окон выбора файла и папки средствами VBA (выбрать файл или папку)

Функции GetFileName и GetFilePath по сути аналогичны, и предназначены для вывода диалогового окна выбора файла
(при этом можно указать стартовую папку для поиска файла, и тип/расширение выбираемого файла)

Функция GetFilenamesCollection позволяет выборать сразу несколько файлов в одной папке.

Функция GetFolderPath работает также, только служит для вывода диалогового окна выбора папки.

Источник: excelvba.ru

Что такое VBA? Что такое макросы VBA? Что такое надстройки?

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

Что такое VBA?

Итак, VBA – это сокращение от слов Visual Basic for Applications. VBA – это слегка упрощенная версия языка программирования Visual Basic, которую поддерживают приложения Microsoft Office.

Кроме того VBA встраивается и в другие программные продукты, такие как AutoCAD, SolidWorks, CorelDRAW, 3D Studio Max, и многие другие. Особенностью VBA является удобство при первом знакомстве с программированием, так как в наиболее используемых приложениях Microsoft Office имеется редактор VB (Visual Basic Editor), а также макрорекордер – средство кодирования действий пользователя для последующего их повторения. Кроме того, эти инструменты можно с успехом использовать для самостоятельного обучения программированию, «записывая» многие свои действия с помощью макрорекордера, а затем просматривая и корректируя результирующий код.

Что такое макросы VBA?

Таким образом, последовательности команд, записанных с помощью макрорекордера, либо вручную в редакторе VB, называются макрокомандами, либо сокращенно – просто макросами. Макрос VBA – это макрос, написанный на языке Visual Basic for Applications. Применительно к тематике программных приложений под словом макрос всегда имеется в виду макрокоманда.

При помощи макросов можно создавать пользовательские меню, диалоговые окна, а также панели инструментов, которые могут существенно изменить интерфейс всем известных приложений Word и Excel.

Что такое надстройки?

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

Говоря обычным языком, надстройка – это особого типа файл, в котором могут содержаться различные сведения о константах, макросах, пользовательских формах и т.д. Надстройка – это также удобный способ хранения и распространения программного кода макроса (макросов). Файлы надстроек для Excel, имеют как правило расширения .xla/.xlam, надстройки для Word представляют собой глобальные шаблоны и имеют расшерения .dot/.dotm. Для PowerPoint – это pptm-файлы.

Редактор Visual Basic – не только средство редактирования кода, но и средство отладки кода, так как дает пользователям возможность в интерактивном режиме проверить действие любой синтаксической конструкции.

Если Вы попали на страницы этого сайта, то скорее всего Вы уже знакомы с тем, что такое MS Office в целом и MS Excel в частности. Остановимся на наиболее популярных приложениях пакета – Word и Excel, так как именно для этих приложений уже существует наибольшее количество готовых макросов и надстроек, но программирование можно использовать и в других приложениях пакета.

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

Microsoft Excel – наиболее популярное приложение для работы с таблицами и табличными данными, совмещающая в себе систему обработки числовых данных, средства для построения диаграмм и обработки электронных таблиц.

Проще говоря, Excel – это удобная табличная форма с возможностями калькулятора, позволяющего выполнять интенсивные расчеты на основе имеющихся данных. О том как работать с этими приложениями написано немало литературы, которую можно найти и на просторах интернета и на полках книжных магазинов. Если же Вы уже освоили стандартные возможности офисных приложений и посчитали, что этого недостаточно для решения Ваших задач, то давайте перейдем к вопросам «Что такое VBA?», «Что такое Макросы?», «Что такое надстройки» и «Как всем этим пользоваться?». Конечно, и Word, и Excel предоставляют достаточно широкий набор функций для выполнения самых разнообразных задач, но все же знание и использование макросов VBA дает такие преимущества, которые невозможно переоценить.

Для чего нужны макросы и надстройки?

Не секрет, что компьютеры гораздо лучше людей приспособлены для выполнения повторяющихся задач, поэтому использование макросов существенно увеличивает скорость и значительно повышает точность работы. Использование макросов является настоящим спасением от часто повторяющейся, рутинной работы, с которой каждый, наверное, хоть раз да сталкивался. Не буду пытаться обучить Вас тонкостям написания макросов, сделаю с Вами только самые первые шаги в этом направлении и скажу, что уже многие умные головы посвятили этому свои интернет-сайты, книги и различные самоучители и что, как говорится, «не так страшен черт, как его малюют» )). При определенных усилиях Вы сможете самостоятельно записать макросы либо даже написать свои собственные процедуры, а на этом сайте вы сможете найти достаточное количество готовых решений, если не хотите тратить свое время на то, чтобы разбираться в основах программирования в VBA.

Читайте также:  Excel кнопка для макроса

Источник: macros-vba.ru

Создание макросов в редакторе Visual Basic

Для создания макроса в Excel используется специальное окно — редактор программ на языке программирования Visual Basic for Applications (VBA).

По умолчанию, вкладка, отвечающая за работу с макросами не отображается в ленте Excel, поэтому ее надо активировать.
Для этого в ленте переходим на вкладку «Файл» -> «Параметры» -> «Основные» и включаем в правой части окна флажок Показывать вкладку «Разработчик» на ленте:

Добавление вкладки «Разработчик» на ленту

Вкладка «Разработчик» на панели вкладок

Интерфейс редактора VBA

Виды модулей для макросов

  1. Модуль листа — модуль используется для макросов, которые выполняются при наступлении определенных условий на данном листе (например, пересчет формул, копирование листа и т.д.);
  2. Модуль «ЭтаКнига» — модуль используется для макросов, которые выполняются при наступлении определенных условий в данной книге (например, при окрытии книги, при сохранении и т.д.);
  3. Обычные модули — модуль предназначен для любых макросов.

Рассмотрим стандартный вид макроса из любого модуля:

Код макроса на языке программирования VBA

  1. Начало макроса — любой макрос начинается с оператора Sub, за которым следует имя макроса и список аргементов;
  2. Тело макроса — команды, которые будут выполняться при запуске макроса (в данном конкретном примере макрос каждой ячейке из выделенной области присваивает случайное число от 1 до 100 и заменяет формулы на значения);
  3. Конец макроса — любой макрос заканчивается оператором End Sub.

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

Источник: tutorexcel.ru

Макрос на VBA Excel – Формируем документы по шаблону

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

Немного поясню задачу, допустим, нам необходимо сформировать какие-то специфические документы по шаблону массово, т.е. в итоге их получится очень много, как я уже сказал выше, например, по каждому сотруднику. И это нужно сделать непосредственно в Excel, если было бы можно это сделать в Word, то мы бы это сделали через «Слияние», но нам нужно именно в Excel, поэтому для этой задачи мы будем писать макрос.

Мы с Вами уже выгружали данные по шаблону через клиент Access из базы MSSql 2008 в Word и Excel вот в этой статье — Выгрузка данных из Access в шаблон Word и Excel. Но сейчас допустим, у нас данные располагаются в базе, в клиенте которой нельзя или слишком трудоемко реализовать такую задачу, поэтому мы просто выгрузим необходимые данные в Excel и на основе таких данных по шаблону сформируем наши документы.

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

Напомню, что на данном сайте тема VBA Excel уже затрагивалась, например, в материале – Запрет доступа к листу Excel с помощью пароля

И так приступим!

Пишем макрос на VBA Excel по формированию документов

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

Примечание! Программировать будем в Excel 2010.

И для начала приведем исходные данные, т.е. сами данные и шаблон

Данные.

Лист, на котором расположены эти данные так и назовем «Данные»

Шаблон.

Лист, на котором расположен шаблон, тоже так и назовем «Шаблон»

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

Это делается очень просто, выделяете необходимую ячейку или диапазон, и жмете правой кнопкой мыши и выбираете «Присвоить имя», пишите имя ячейки и жмете «ОК»

Свои поля я назвал следующим образом:

  • ФИО – fio;
  • № — number;
  • Должность – dolgn;
  • Адрес проживания – addres;
  • Тел. № сотрудника – phone;
  • Комментарий – comment.

Код макроса на VBA Excel

Для того чтобы написать код макроса, открывайте на ленте вкладку «Разработчик», далее макросы.

Примечание! По умолчанию данной вкладке в Excel 2010 может и не быть, чтобы ее отобразить нажмите правой кнопкой по ленте пункт меню «Настройка ленты»

затем, в правой области поставьте галочку напротив пункта «Разработчик»

После вкладка разработчик станет отображаться на ленте.

Далее, когда Вы откроете вкладку разработчик и нажмете кнопку «Макросы» у Вас отобразится окно создания макроса, Вы пишите название макросы и жмете «создать».

После у Вас откроется окно редактора кода, где собственно мы и будем писать свой код VBA. Ниже представлен код, я его как обычно подробно прокомментировал:

Теперь осталось выполнить этот макрос, для этого откройте вкладку разработчик->макросы->выполнить наш макрос:

и после выполнения у Вас в той же папке появится вот такие файлы

Вот с таким содержимым:

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

Источник: info-comp.ru