Tässä artikkelissa aiomme oppia automatisoimaan yhdistämisen käyttämällä Microsoft Excelin VBA: ta.
Yhdistäminen: - Tämä on lähde, joka yhdistää tietojen tiedot tekstiksi ja tulostaa asiakirjan. Käytämme tällaista toimintoa Microsoft Wordilla.
Ymmärrämme yksinkertaisella harjoituksella:-
Meillä on raporttimuodossa kirjainmuoto ja haluamme käyttää yhdistämistä VBA: n kautta, jossa haluamme myös muuttaa kirjeen tietoja.
Meillä on 2 arkkia. 1 arkki sisältää tietoja yksityiskohdista, joille haluamme antaa kirjeitä. Ensimmäisissä tiedoissa sarake A sisältää nimen, sarake B sisältää katuosoitteen, sarake C sisältää kaupungin, sarakkeen D alueen ja sarake E ja sarake F sisältävät postinumeron. Raporttilomakkeessa on yksi komentopainike, jota voidaan siirtää.
2toinen arkilla on kirjainmuoto, jossa on 2 komentopainiketta; yksi painike tietolomakkeella siirtymiseen ja toinen komentopainike toimii yhdistämisen yhteydessä
Ensinnäkin kirjoitamme VBA -koodin päädatan komentopainikkeelle. Meidän on noudatettava alla annettuja vaiheita:-
- Lisäämme ensin komentopainikkeen laskentataulukkoon.
- Siirry Kehittäjä -välilehdelle ja lisää sitten Activexcontrolin Komento -painike.
- Nimeä komentopainike uudelleen nimellä "Letter" ja määritä nyt alla mainittu makro:-
Yksityinen osa Main_data_Click ()
Laskentataulukot ("Raportti"). Aktivoi
Alue ("A19"). Näytä
End Sub
Nyt lisäämme toisen komentopainikkeen raportti -taulukkoon ja osoitamme makron siirtymään ensimmäiselle arkille. Meidän on noudatettava alla annettuja vaiheita:-
- Nimeä komentopainike uudelleen nimellä "Data" ja määritä alla mainittu makro:-
Yksityinen alikomentoButton2_Click ()
Laskentataulukot ("Main_Data"). Aktivoi
Alue ("A1"). Näytä
End Sub
Kirjoitamme nyt yhdistämisen pääkoodin seuraavasti:-
Lisää komentopainike ja nimeä se uudelleen "Letter Printiksi" ja määritä sitten alla mainittu koodi:-
Yksityinen alikomentoButton1_Click ()
Dim StartrowKuten kokonaisluku, viimeinen kokonaisluku
Dim MsgAs -merkkijono
Himmennä TotalrecordsAs String
Himmennettävä nimi merkkijonona, Street_AddressAs -merkkijono, kaupunki merkkijonona, alue merkkijonona, maa merkkijonona, posti merkkijonona
Totalrecords = "= laskuri (Main_Data! A: A)"
Alue ("L1") = Totalrecords
Himmennä päivämäärä päivämääränä
Aseta WRP = Sheets ("Report")
mydate = päivämäärä
WRP.Range ("A9") = mydate
WRP.Range ("A9"). NumberFormat = "[$ -F800] dddd, mmmm, dd, yyyy"
WRP.Range ("A9"). HorizontalAlignment = xlLeft
Startrow = InputBox ("Anna ensimmäinen tulostettava tietue.")
lastrow = InputBox ("Anna viimeinen tulostettava tietue.")
Jos Startrow> lastrow Then
Msg = "ERROR" & vbCrLf & "Aloitusrivin on oltava pienempi kuin viimeinen rivi"
Msgbox Msg, vbCritical, "ExcelTip"
Loppu Jos
Sillä i = Aloitusvirta Loppuun
name = Sheets ("Main_data"). Solut (i, 1)
Street_Address = Sheets ("Main_data"). Solut (i, 2)
city = Sheets ("Main_data"). Solut (i, 3)
region = Sheets ("Main_data"). Solut (i, 4)
maa = Sheets ("Main_data"). Solut (i, 5)
postal = Sheets ("Main_data"). Solut (i, 6)
Sheets ("Raportti"). Alue ("A7") = nimi & vbCrLf & Street_Address & vbCrLf & kaupunki & alue & maa & vbCrLf & posti
Sheets ("Report"). Range ("A11") = "Dear" & "" & name & ","
CheckBox1 = Tosi
Jos valintaruutu1 Sitten
ActiveSheet.PrintPreview
Muu
ActiveSheet.PrintOut
Loppu Jos
Seuraavaksi minä
End Sub
Koodin selitys: - Ensin määritämme muuttujat, sitten päivämäärän ja päivämäärän muodon, sitten viimeisen rivin ja aloitusrivin. Sitten olemme luoneet viestiruudun viestin lähettämistä varten. Sitten määritämme tiedot ja alueen, jonka haluamme kaapata kirjaimella.
- Voit suorittaa koodin painamalla näppäimistön näppäintä F5.
- Sitten sinun on syötettävä ensimmäinen tallennuspiste. Tämän jälkeen saat uuden viestiruudun pisteen viimeisen tietueen syöttämiseksi.
- Ja sitten saat alla olevan asiakirjan
- Kirje päivitetään päätietojen mainittujen yksityiskohtien mukaisesti.
Tällä tavalla voimme automatisoida yhdistämisen VBA: n kautta Microsoft Excelissä.