Как да автоматизирате сливането на поща чрез VBA в Microsoft Excel

Anonim

В тази статия ще научим как да автоматизираме сливането на поща с помощта на VBA в Microsoft Excel.

Обединяване на поща: - Това е източникът за обединяване на информацията на данните в текст и след това отпечатване на документа. За да извършим такава операция, използваме Microsoft Word.

Нека разберем с едно просто упражнение:-

Имаме формат на писмо в отчетен лист и искаме да приложим обединяване на поща чрез VBA, в което искаме да променим и детайлите на писмото.

Имаме 2 листа. 1 лист съдържа данни с подробности на кого искаме да дадем писма. В първите данни колона А съдържа име, колона В съдържа уличен адрес, колона С съдържа град, колона D регион, а колона Е и колона F съдържа пощенски код. Има един команден бутон за преместване в отчета.

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

Първо, ще напишем VBA кода за командния бутон на основните данни. Трябва да следваме следните стъпки:-

  • Първо ще вмъкнем командния бутон в работния лист.
  • Отидете в раздела Разработчик и след това вмъкнете командния бутон от Activexcontrol.
  • Преименувайте командния бутон с името „Писмо“ и сега задайте по-долу споменатия макрос:-

Частен под Main_data_Click ()

Работни листове („Отчет“). Активирайте

Обхват ("A19"). Покажи

End Sub

Сега ще вмъкнем втория команден бутон в листа с отчети и ще зададем макроса за преместване на първия лист. Трябва да следваме следните стъпки:-

  • Преименувайте командния бутон с името „Данни“ и задайте по-долу споменатия макрос:-

Частна подкоманда CommandButton2_Click ()

Работни листове ("Main_Data"). Активирайте

Диапазон ("A1"). Покажи

End Sub

Сега ще напишем основния код за обединяване на поща, като следвате следните стъпки:-

Поставете командния бутон и го преименувайте на „Letter Print“, след което задайте кода по-долу:-

Private Sub CommandButton1_Click ()

Dim Startrow Като цяло число, последно като цяло число

Dim MsgAs String

Dim TotalrecordsAs String

Dim име As String, Street_Address As As String, град As String, регион As String, държава As String, пощенски As String

Totalrecords = "= counta (Main_Data! A: A)"

Диапазон ("L1") = Общо записи

Затъмнете мидата като дата

Задаване на WRP = Таблици ("Отчет")

mydate = Дата
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 = "ГРЕШКА" & vbCrLf & "Началният ред трябва да е по -малък от последния ред"

Msgbox Msg, vbCritical, "ExcelTip"

Край Ако

За i = Стартроу За последно

name = Sheets ("Main_data"). Клетки (i, 1)

Street_Address = Листове ("Main_data"). Клетки (i, 2)

city ​​= Sheets ("Main_data"). Клетки (i, 3)

region = Sheets ("Main_data"). Клетки (i, 4)

country = Sheets ("Main_data"). Клетки (i, 5)

Postal = Sheets ("Main_data"). Клетки (i, 6)

Таблици ("Отчет"). Диапазон ("A7") = име & vbCrLf & Street_Address & vbCrLf & град & регион & държава & vbCrLf & пощенски

Таблици ("Отчет"). Диапазон ("A11") = "Уважаеми" & "" & име & ","

CheckBox1 = Вярно

Ако CheckBox1 Тогава

ActiveSheet.PrintPreview

Иначе

ActiveSheet.PrintOut

Край Ако

Следва i

End Sub

Код Обяснение: - Първо ще дефинираме променливите, след това ще определим датата и формата на датата, след това ще определим последния ред и началния ред. След това създадохме кутия за съобщения за предаване на съобщението. След това ще дефинираме данните и обхвата, които искаме да запишем с буква.

  • За да стартирате кода, натиснете клавиша F5 на клавиатурата.
  • След това трябва да въведете първата точка за запис. След това ще получите ново поле за съобщение, за да въведете последния запис на точка.

  • И тогава ще получите показания по -долу документ

  • Писмото ще се актуализира според споменатите подробности в основните данни.

Това е начинът, по който можем да автоматизираме сливането на поща чрез VBA в Microsoft Excel.