В тази статия ще научим как да автоматизираме сливането на поща с помощта на 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.