Wie man Automate Mail Merge durch VBA in Microsoft Excel
In diesem Artikel erfahren Sie, wie Sie den Seriendruck mithilfe des VBA in Microsoft Excel automatisieren.
Seriendruck: – Dies ist die Quelle, um die Dateninformationen in Text zusammenzuführen und dann das Dokument zu drucken. Um einen solchen Vorgang auszuführen, verwenden wir Microsoft Word.
Lassen Sie uns mit einer einfachen Übung verstehen: – Wir haben ein Briefformat im Berichtsblatt und möchten den Seriendruck über VBA anwenden, in dem wir auch die Briefdetails ändern möchten.
Wir haben 2 Blätter. 1 Blatt enthält Daten mit Details, an die wir Briefe senden möchten. In den ersten Daten enthält Spalte A Name, Spalte B Straßenadresse, Spalte C Stadt, Spalte D Region und Spalte E und Spalte F Postleitzahl. Es gibt eine Befehlsschaltfläche zum Verschieben im Berichtsblatt.
-
Blatt hat das Buchstabenformat mit 2 Befehlsschaltflächen; Eine Schaltfläche zum Verschieben im Datenblatt und die zweite Befehlsschaltfläche dienen zum Seriendruck
Zunächst schreiben wir den VBA-Code für die Befehlsschaltfläche der Hauptdaten. Wir müssen die folgenden Schritte ausführen: – * Zuerst fügen wir die Befehlsschaltfläche in das Arbeitsblatt ein.
-
Gehen Sie zur Registerkarte Entwickler und fügen Sie die Befehlsschaltfläche von Activexcontrol ein.
-
Benennen Sie die Befehlsschaltfläche mit dem Namen „Letter“ um und weisen Sie nun das unten genannte Makro zu: – Private Sub Main_data_Click ()
Arbeitsblätter („Bericht“). Bereich aktivieren („A19“). End Sub anzeigen Jetzt fügen wir die zweite Befehlsschaltfläche in das Berichtsblatt ein und weisen das Makro zu, das auf dem ersten Blatt verschoben werden soll. Wir müssen die folgenden Schritte ausführen: – * Benennen Sie die Befehlsschaltfläche mit dem Namen „Daten“ um und weisen Sie das unten genannte Makro zu: – Private Sub CommandButton2_Click ()
Arbeitsblätter („Main_Data“). Bereich aktivieren („A1“). Show End Sub Jetzt schreiben wir den Hauptcode für den Seriendruck, indem wir die folgenden Schritte ausführen: – Fügen Sie die Befehlsschaltfläche ein und benennen Sie sie in „Letter Print“ um Weisen Sie den folgenden Code zu: – Private Sub CommandButton1_Click ()
Dim StartrowAs Integer, lastrow As Integer Dim MsgAs String Dim TotalrecordsAs String Dim Name As String, Street_AddressAs String, Stadt As String, Region As String, Land As String, Post As String Totalrecords = „= counta (Main_Data! A: A)“
Bereich („L1“) = Totalrecords Dim mydate As Date Set WRP = Sheets („Report“)
mydate = Datum WRP.Range („A9“) = mydate WRP.Range („A9“). NumberFormat = „[$ -F800] TTTT, MMMM, TT, JJJJ“
WRP.Range („A9“). HorizontalAlignment = xlLeft Startrow = InputBox („Geben Sie den ersten zu druckenden Datensatz ein.“)
lastrow = InputBox („Geben Sie den letzten zu druckenden Datensatz ein.“)
Wenn Startrow> lastrow, dann Msg = „ERROR“ & vbCrLf & „Startzeile muss kleiner sein als letzte Zeile“
Msgbox Msg, vbCritical, „ExcelTip“
End If For i = Startrow To lastrow name = Sheets („Hauptdaten“). Zellen (i, 1)
Street_Address = Sheets („Main_data“). Zellen (i, 2)
city = Sheets („Main_data“). Cells (i, 3)
region = Sheets („Main_data“). Zellen (i, 4)
country = Sheets („Main_data“). Cells (i, 5)
postal = Blätter („Hauptdaten“). Zellen (i, 6)
Blätter („Bericht“). Bereich („A7“) = Name & vbCrLf & Street_Address & vbCrLf & Stadt & Region & Land & vbCrLf & Postblätter („Bericht“). Bereich („A11“) = „Lieber“ & „“ & Name & „,“
CheckBox1 = True Wenn CheckBox1 Dann ActiveSheet.PrintPreview Sonst ActiveSheet.PrintOut End If Next i End Subcode Erläuterung: – Zuerst definieren wir die Variablen, dann definieren wir das Datums- und Datumsformat, dann definieren wir die letzte Zeile und die Startzeile . Dann haben wir ein Nachrichtenfeld zum Übertragen der Nachricht erstellt. Dann definieren wir die Daten und den Bereich, die wir in Buchstaben erfassen möchten.
-
Um den Code auszuführen, drücken Sie die Taste F5 auf der Tastatur.
-
Dann müssen Sie den ersten Aufnahmepunkt eingeben. Danach erhalten Sie ein neues Meldungsfeld, in das Sie den letzten Punktdatensatz eingeben können.
-
Und dann erhalten Sie das unten gezeigte Dokument
-
Der Brief wird gemäß den Angaben in den Hauptdaten aktualisiert.
Auf diese Weise können wir den Seriendruck über VBA in Microsoft Excel automatisieren.