В этой статье мы узнаем, как автоматизировать слияние почты с помощью VBA в Microsoft Excel.

Слияние писем: — это источник для объединения информации данных в текст и последующей печати документа. Для выполнения такой операции мы используем Microsoft Word.

Давайте разберемся с простым упражнением: — У нас есть формат письма в листе отчета, и мы хотим применить слияние писем через VBA, в котором мы также хотим изменить детали письма.

image 1

У нас 2 листа. 1 лист содержит данные с деталями, кому мы хотим передать письма. В первых данных столбец A содержит имя, столбец B — адрес, столбец C — город, столбец D — регион, а столбец E и столбец F — почтовый индекс. Для перемещения по листу отчета имеется одна командная кнопка.

image 2

2 ^ nd ^ лист имеет буквенный формат с 2 кнопками управления; одна кнопка для перемещения по таблице данных, а вторая командная кнопка предназначена для работы с объединением писем

image 3

Во-первых, мы напишем код VBA для командной кнопки основных данных. Нам необходимо выполнить следующие шаги: — * Сначала мы вставим кнопку команды в рабочий лист.

  • Перейдите на вкладку «Разработчик» и затем вставьте кнопку «Command» из Activexcontrol.

  • Переименуйте кнопку Command в имя «Letter», а теперь назначьте макрос, указанный ниже: — Private Sub Main_data_Click ()

Рабочие листы («Отчет»). Активировать диапазон («A19»). Показать конец подпрограммы Теперь мы вставим вторую командную кнопку в лист отчета и назначим макрос для перемещения на первом листе. Нам необходимо выполнить следующие шаги: — * Переименовать кнопку Command с именем «Data» и назначить указанный ниже макрос: — Private Sub CommandButton2_Click ()

Рабочие листы («Main_Data»). Активировать диапазон («A1»). Показать конец подписки. Теперь мы напишем основной код для слияния почты, выполнив следующие шаги: — Вставьте кнопку команды и переименуйте ее в «Letter Print», а затем назначьте указанный ниже код: — Private Sub CommandButton1_Click ()

Dim StartrowAs Integer, lastrow As Integer Dim MsgAs String Dim TotalrecordsAs String Dim name As String, Street_AddressAs String, city As String, region As String, country As String, postal As String Totalrecords = «= counta (Main_Data! A: A)»

Диапазон («L1») = Всего записей Dim mydate As Date Set WRP = Sheets («Отчет»)

mydate = Date WRP.Range («A9») = mydate WRP.Range («A9»). NumberFormat = «[$ -F800] dddd, mmmm, dd, yyyy»

WRP.Range («A9»). HorizontalAlignment = xlLeft Startrow = InputBox («Введите первую запись для печати.»)

lastrow = InputBox («Введите последнюю запись для печати.»)

Если Startrow> lastrow То Msg = «ERROR» & vbCrLf & «Начальная строка должна быть меньше последней строки»

Msgbox Msg, vbCritical, «ExcelTip»

End If For i = Startrow To lastrow name = Sheets («Main_data»). Cells (i, 1)

Street_Address = Sheets («Main_data»). Cells (i, 2)

city ​​= Sheets («Main_data»). Cells (i, 3)

region = Sheets («Main_data»). Cells (i, 4)

country = Sheets («Main_data»). Cells (i, 5)

postal = Sheets («Main_data»). Cells (i, 6)

Таблицы («Отчет»). Диапазон («A7») = имя & vbCrLf & Street_Address & vbCrLf & город и регион и страна & vbCrLf & почтовые таблицы («Отчет»). Range («A11») = «Уважаемый» & «» & name & «,»

CheckBox1 = True Если CheckBox1 Тогда ActiveSheet.PrintPreview Else ActiveSheet.PrintOut End If Next i End Подкод Объяснение: — Сначала мы определим переменные, затем мы определим дату и формат даты, затем мы определим последнюю строку и начальную строку . Затем мы создали окно сообщения для передачи сообщения. Затем мы определим данные и диапазон, которые мы хотим записать в письме.

  • Чтобы запустить код, нажмите клавишу F5 на клавиатуре.

  • Затем вы должны ввести первую точку записи. После этого вы получите новое окно сообщения для ввода последней записи точки.

image 4

image 5

  • И тогда вы получите документ, показанный ниже

image 6

  • Письмо будет обновляться в соответствии с указанными деталями в основных данных.

Таким образом мы можем автоматизировать слияние почты через VBA в Microsoft Excel.