VBA Excel. Модуль (импорт, экспорт, удаление)

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

Многострочный комментарий в редакторе VBA Microsoft Excel

Среда разработки макросов в Excel Microsoft Visual Basic for Applications, мягко говоря, не является самой удобной средой разработки. Сравнивать его с Visual Studio просто нельзя – это как сравнить текстовые редакторы Блокнот и Word. Но пользоваться Microsoft Visual Basic for Applications иногда нужно, потому приходится адаптироваться.

Столкнулся с необходимостью закомментировать порядка 20 строчек кода. Ставить знак ‘ в начале каждой строки очень не хочется, к тому же потом еще и раскомментировать нужно.

По умолчанию, панель с кнопкой комментирования кода отключена. Для начала нужно включить панель редактирования, для этого в меню View / Toolbars нужно отметить пункт Edit (Рис.1).

Рис.1. Добавление тулбара в среду разработки Microsoft Visual Basic for Applications

Для того, чтобы закомментировать несколько строк кода, нужно в появившемся тулбаре нажать на кнопку «Comment Block» (Рис.2)

Рис.2. Закомментировать несколько строк кода

Для раскомментирования строчек нужно нажать на соседнюю кнопку «Uncomment block».

ПоделитьсяTвитнутьPinПоделиться0 Поделились

  • 12 февраля 2016, Alexey
  • Уроки Excel
  • Тэги: excel, vba, программирование
  • Comments (1)
Многострочный комментарий в редакторе VBA Microsoft Excel

Шаг 1: Зарегистрируйтесь в SendPulse

SendPulse — это мультиканальный сервис массовых рассылок, который предоставляет все необходимые инструменты для создания и отправки email кампаний:

  • блочный конструктор писем;
  • более 130 готовых email шаблонов;
  • управление списками рассылки;
  • возможность планирования отправки email кампаний;
  • персонализация;
  • сегментация;
  • анти-спам рекомендации перед отправкой рассылки.

Для создания email кампаний в SendPulse вам не нужны знания HTML кода или другие специальные навыки. Просто регистрируйтесь и переходите к настройке рассылки.

Импорт модуля

1. Откройте рабочую книгу Excel, в которую планируете импортировать модуль. Для импорта модуля в Личную книгу макросов, откройте любую книгу.

2. Откройте редактор VBA сочетанием клавиш Alt+F11 (в этом сочетании используется левая клавиша Alt). Обратите внимание на наличие в окне редактора VBA окна проводника «Project-VBAProject», обычно, расположенного слева. При отсутствии, отобразите его через главное меню, выбрав «View» – «Project Explorer».

Читайте также:  16 Способов освободить место на диске в Windows 10

3. В окне проводника «Project-VBAProject» найдите строку «VBAProject (ИмяКниги)», где «ИмяКниги» – это имя книги, в которую вы собираетесь импортировать модуль. Если вы желаете импортировать модуль в Личную книгу макросов, строка называется «VBAProject ()». Если у вас нет Личной книги макросов – создайте ее.

4. У выбранной строки раскройте все крестики слева.

5. Откройте контекстное меню, кликнув правой кнопкой мыши на строке «ЭтаКнига», и выберите в нем пункт «Import File…».

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

7. Если вы импортировали модуль в Книгу Excel 2007-2016 с расширением .xlsx, ее необходимо будет пересохранить как «Книга Excel с поддержкой макросов (.xlsm)», иначе импортированный модуль не сохранится.

Инструкцию с картинками вы можете посмотреть здесь в параграфе «Пользовательская функция «СуммаПрописью».

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

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

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

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

Данные.

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

Шаблон.

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

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

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

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

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

Как записать самый простой макрос?

Для начала запишем самый легкий макрос — зададим в ячейке А1 формат вида 12 345:

  • Открываем новую книгу, в ячейке А1 набираем шестизначное число 123456. Сейчас оно выдается без разделителей разрядов. Запишем макрос, который ставит эти разделители.
  • Заходим на панели инструментов в закладку Вид*, находим кнопку Макросы, жмем Запись макроса. В появившемся окне задаем имя макроса и книгу, в которой хотим этот макрос сохранить.

Важно

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

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

  • Выбираем Сохранить в… — Личная книга макросов и нажимаем Ок (рис. 1).
Как записать самый простой макрос?

Рис. 1. Запись макроса в личную книгу макросов

  • Записываем в макрос действия, которые хотим выполнить: вызываем контекстное меню Формат ячеек (можно воспользоваться комбинацией клавиш Сtrl+1) и задаем нужный нам формат числа: на закладке Число идем в блок (все форматы) и выбираем там формат вида # ##0.
Читайте также:  Как исправить ошибку 0x80070002 в Windows 7 и Windows 10?

К сведению

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

  • На закладке Вид — Макросы выбираем пункт Остановить запись.

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

Мы рекомендуем

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

Как записать самый простой макрос?

Проверяем, что макрос записан и работоспособен:

  • в ячейку А2 вбиваем любое шестизначное число;
  • запускаем макрос одним из двух способов: на закладке Вид — Макросы выбираем пункт Макросы или нажимаем комбинацию клавиш Alt+F8, находим в списке наш макрос и нажимаем кнопку Выполнить.

Рис. 2. Форматирование числа и остановка записи макроса

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

Объединение таблицы Ворд и Эксель

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

Чтобы это сделать, нужно сначала сделать таблицу в Эксель, после чего этот диапазон выделить и скопировать.

После этого нужно воспользоваться функцией «Специальная вставка» Word, которую можно найти в меню «Вставка» и там выбирается опция с листом Майкрософт Эксель.

Чтобы связать таблицы, нужно воспользоваться одноименной функцией. 

Решение 3: добавление модуля

Дополнительное решение состоит в том, что бы внести изменения в макрос без перекомпиляции.

Решение 3: добавление модуля
  1. Открываем [проблемный] .xlsm-файл (файл с макросами).
  2. Не нажимаем кнопку Включить содержимое.
  3. Открывает редактор Visual Basic (при помощи комбинации клавиш Alt+F11).
  4. Открываем меню Tools → пункт Options. В открывшемся окне переходим на вкладку General и деактивируем чекбокс Compile on Demand:

    Закрываем окно Опции нажатием клавиши OK.

  5. В левом фрейме окна проекта (Project) спускаемся вниз, находим раздел Modules, жмем на нём правую кнопку → пункт InsertModule:

  6. Далее просто закрываем окно редактора Visual Basic, сохраняем основной xslm-документ и закрываем Excel.
  7. Заново открываем [проблемный] файл, в верхней части, в строке статуса — включаем макросы посредством кнопки Включить содержимое.
Решение 3: добавление модуля

Похожие записи:

  • Ошибка приложения Excel при открытии файла с диаграммой
  • Ошибка Outlook — Невозможно создать файл
  • Данный объект был создан в следующей программе: Outlook

Как отправлять более писем в день

Если вы шлёте рассылки с коммерческой целью или в вашей компании больше 5 000 человек (ого-го!), для отправки писем нужно регистрироваться в сервисе рассылок. Это приложение, в котором есть все инструменты для отправки массовых рассылок: сбора базы подписчиков, работы с контактами, вёрстки красивых писем и их отправки по заданным сценариям. Рассказываю подробнее об этих инструментах.

Неограниченное количество писем

Вы можете отправлять столько писем, сколько захотите — их количество зависит только от тарифа в сервисе рассылок.

Работа с базой контактов

Контакты можно импортировать, объединять в тематические списки и группировать по разным критериям. Чтобы держать базу подписчиков в чистоте, адреса можно проверять на актуальность. Если какого-то email давно не существует, мы его удаляем.

Как навести порядок в базе подписчиков

Вёрстка писем без знания кода

Чтобы собрать письмо в сервисе рассылок, не нужно знать HTML и CSS. Можно взять готовый шаблон или собрать макет с нуля в блочном редакторе. Ничего сложного: перетаскиваем нужный блок и настраиваем его, как нам нужно. Письмо автоматически подстроится под разные устройства — оно будет одинаково хорошо выглядеть и на компьютере, и на смартфоне.

Так работает блочный редактор UniSender

Как отправлять более писем в день

Дизайн и вёрстка рассылок: основы

Отправка рассылок в нужное время

Для каждой рассылки можно задать день и время, когда она уйдёт пользователям. Более того, сообщения можно объединять в цепочки — письма будут идти одно за одним через заданные промежутки времени. Отдельные письма и цепочки могут уходить в ответ на какие-либо действия подписчиков. Например человек зарегистрировался на сайте — мы отправили ему приветственное письмо, оставил товары в корзине — мы напомнили ему об этом.

Как работают цепочки писем

Конструкторы форм подписки, всплывающих форм и страниц отписки

В сервисах рассылки много других полезных инструментов:

  • Конструкторы форм подписки. Можно вручную сделать статическую или всплывающую форму на сайт. Знать вёрстку не нужно.
  • Аналитика рассылок. Оценивайте эффективность ваших писем: сколько людей их открывает, кто переходит на сайт, какой суммарный доход.
  • A/B-тесты. Проверяйте гипотезы, чтобы понять какие элементы письма работают лучше.
  • Интеграции. Подключайте CMS и CRM-системы, средства для аналитики, дизайна и создания лендингов. В UniSender есть более 45 готовых интеграций, все остальные приложения можно подключить по API.
  • Другие каналы. В сервисах рассылки часто есть доступ к другим маркетинговым каналам: SMS, Viber-сообщениям, push-уведомлениям. Включайте их в свою стратегию, чтобы увеличить эффективность рекламы.

В UniSender можно бесплатно отправлять до 1500 писем на 100 контактов. При этом доступны абсолютно все функции сервиса. Ни на что не намекаем, но вот тут можно за минуту зарегистрироваться, а ещё через 15 минут — отправить своё первое письмо.

Оцените, на сколько вам показалась полезной статья «Как сделать массовую рассылку в Outlook»(1)