Как Автоматизировать почты Merge через VBA в Microsoft Excel
В этой статье мы узнаем, как автоматизировать слияние почты с помощью VBA в Microsoft Excel.
Слияние писем: — это источник для объединения информации данных в текст и последующей печати документа. Для выполнения такой операции мы используем Microsoft Word.
Давайте разберемся с простым упражнением: — У нас есть формат письма в листе отчета, и мы хотим применить слияние писем через VBA, в котором мы также хотим изменить детали письма.
У нас 2 листа. 1 лист содержит данные с деталями, кому мы хотим передать письма. В первых данных столбец A содержит имя, столбец B — адрес, столбец C — город, столбец D — регион, а столбец E и столбец F — почтовый индекс. Для перемещения по листу отчета имеется одна командная кнопка.
2 ^ nd ^ лист имеет буквенный формат с 2 кнопками управления; одна кнопка для перемещения по таблице данных, а вторая командная кнопка предназначена для работы с объединением писем
Во-первых, мы напишем код 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 на клавиатуре.
-
Затем вы должны ввести первую точку записи. После этого вы получите новое окно сообщения для ввода последней записи точки.
-
И тогда вы получите документ, показанный ниже
-
Письмо будет обновляться в соответствии с указанными деталями в основных данных.
Таким образом мы можем автоматизировать слияние почты через VBA в Microsoft Excel.