Afdruk samenvoegen automatiseren via VBA in Microsoft Excel

Inhoudsopgave

In dit artikel gaan we leren hoe u de samenvoegbewerking kunt automatiseren met behulp van de VBA in Microsoft Excel.

Afdruk samenvoegen: - Dit is de bron om de gegevens van de gegevens in tekst samen te voegen en vervolgens het document af te drukken. Om een ​​dergelijke bewerking uit te voeren, gebruiken we Microsoft Word.

Laten we het met een eenvoudige oefening begrijpen: -

We hebben een briefformaat in het rapportblad en we willen mail merge toepassen via VBA waarin we ook de briefdetails willen wijzigen.

We hebben 2 bladen. 1 blad bevat gegevens met details aan wie we brieven willen geven. In de eerste gegevens bevat kolom A Naam, kolom B het adres, kolom C bevat stad, kolom D regio en kolom E en kolom F bevatten postcode. Er is één opdrachtknop om in het rapportblad te bewegen.

2nd blad heeft het letterformaat met 2 opdrachtknoppen; één knop om op het gegevensblad te gaan en de tweede opdrachtknop is om te werken voor mail merge

Eerst zullen we de VBA-code schrijven voor de opdrachtknop van Main Data. We moeten de onderstaande stappen volgen: -

  • Eerst zullen we de opdrachtknop in het werkblad invoegen.
  • Ga naar het tabblad Ontwikkelaar en voeg vervolgens de opdrachtknop in vanuit Activexcontrol.
  • Hernoem de Command-knop met de naam "Letter" en wijs nu onderstaande macro toe: -

Privé sub Main_data_Click()

Werkbladen ("Rapport"). Activeren

Bereik ("A19").Toon

Einde sub

Nu zullen we de tweede opdrachtknop in het rapportblad invoegen en de macro toewijzen om op het eerste blad te verplaatsen. We moeten de onderstaande stappen volgen: -

  • Hernoem de Command-knop met de naam "Data" en wijs onderstaande macro toe: -

Privé Sub CommandButton2_Click()

Werkbladen ("Main_Data"). Activeren

Bereik ("A1").Toon

Einde sub

Nu zullen we de hoofdcode voor mail merge schrijven door de onderstaande stappen te volgen: -

Voeg de opdrachtknop in en hernoem deze als "Letter Print", en wijs vervolgens de onderstaande code toe: -

Privé Sub CommandButton1_Click()

Dim StartrowAls geheel getal, laatste rij als geheel getal

Dim MsgAs String

Dim TotalrecordsAls String

Dim naam As String, Straat_AddressAs String, plaats As String, regio As String, land As String, post As String

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

Bereik ("L1") = Totaalrecords

Dim mijn datum als datum

Stel WRP = Sheets ("Rapport") in

mijndatum = Datum
WRP.Bereik ("A9") = mijndatum

WRP.Range("A9").NumberFormat = "[$-F800]dddd,mmmm,dd,jjjj"

WRP.Bereik ("A9"). Horizontale uitlijning = xlLinks

Startrow = InputBox ("Voer het eerste record in om af te drukken.")

lastrow = InputBox("Voer het laatste record in om af te drukken.")

Als Startrij>laatste rij Dan

Msg = "ERROR" &vbCrLf& "Beginrij moet kleiner zijn dan de laatste rij"

Msgbox Msg, vbCritical, "ExcelTip"

Stop als

Voor i = Startrij Tot laatste rij

naam = Bladen ("Hoofdgegevens"). Cellen (i, 1)

Street_Address = Bladen ("Hoofdgegevens"). Cellen (i, 2)

stad = Bladen ("Hoofdgegevens"). Cellen (i, 3)

regio = Bladen ("Main_data"). Cellen (i, 4)

land = Bladen ("Main_data"). Cellen (i, 5)

post = Bladen ("Main_data"). Cellen (i, 6)

Sheets("Rapport").Range("A7") = naam &vbCrLf&Street_Address&vbCrLf& stad & regio & land &vbCrLf& post

Sheets("Rapport").Range("A11") = "Geachte" & " " & naam & ","

CheckBox1 = True

Als CheckBox1 Dan

ActiveSheet.Afdrukvoorbeeld

Anders

ActiveSheet.PrintOut

Stop als

volgende i

Einde sub

Code Uitleg: - Eerst zullen we de variabelen definiëren, dan zullen we de datum- en datumnotatie definiëren, dan zullen we de laatste rij en startrij definiëren. Vervolgens hebben we een berichtvenster gemaakt voor het verzenden van het bericht. Vervolgens definiëren we de gegevens en het bereik dat we in brief willen vastleggen.

  • Om de code uit te voeren, drukt u op de toets F5 op het toetsenbord.
  • Vervolgens moet u het eerste opnamepunt invoeren. Daarna krijgt u een nieuw berichtvenster om het laatste record van het punt in te voeren.

  • En dan krijg je het hieronder getoonde document

  • De brief wordt bijgewerkt volgens de genoemde details in de hoofdgegevens.

Dit is de manier waarop we mail merge kunnen automatiseren via VBA in Microsoft Excel.

U zal helpen de ontwikkeling van de site, het delen van de pagina met je vrienden

wave wave wave wave wave