(ILMAINEN laskugeneraattorimalli) Tallenna Excel -lasku PDF -tiedostona

Minun oli äskettäin rekisteröidyttävä tavara- ja palveluveroon (GST), jotta voin hakea GST -tuloja.

Kun sinulla on GST -numero, sinun on annettava veroilmoitus joka kuukausi (Intiassa).

Joten joka kuukausi, kirjattu kirjanpitäjäni otti yhteyttä minuun ja pyysi myyntilaskuja, jotta hän voisi jättää GST: n.

Minun tapauksessani on luotava vain kourallinen laskuja, koska minulla on vain muutama tulolähde.

Koska tämä on kuitenkin lisätyötä, halusin saada sen tehtyä mahdollisimman nopeasti.

Vaivannäköni minimoimiseksi loin Exceliin laskunlaskijamallin, jonka avulla minulla on kaikki tiedot yhdessä paikassa, ja sitten se luo automaattisesti PDF -laskut kaikille datapisteille.

Kuten alla näet, minun tarvitsee vain kaksoisnapsauttaa asiakkaan nimeä (sarakkeessa B), ja se luo ja tallentaa laskun välittömästi PDF -muodossa määritettyyn kansioon.

Voit myös muokata laskumallia yrityksesi muodon mukaan (mikä edellyttää VBA -koodin muuttamista hieman - selitetään alla).

Se luo laskun alla esitetyllä tavalla:

Miten tämä laskunluontimalli toimii?

Tässä laskumallissa on kaksi laskentataulukkoa:

  1. Yksityiskohdat - Tässä sinun on määritettävä myynnin/tapahtuman tiedot. Jotta kaikki pysyisi yhdessä, olen luonut yhden rivin kutakin tietuetta varten. Kaikki tapahtuman tiedot kirjataan riville.
  2. Laskun malli - Tämä on laskun paikkamalli, jossa jotkin kentät jätetään tyhjäksi. Minun on luotava erillinen lasku kaikista myyntitietueista, ja kunkin laskun tiedot noudetaan Tiedot -laskentataulukosta.

Minulla on myös työpöydällä kansio nimeltä "Lasku PDF -tiedostot". Tämä on kansio, johon uudet PDF -laskut tallennetaan.

Katsotaan nyt miten tämä toimii:

Sinun on kaksoisnapsautettava asiakkaan nimeä (korostettu oranssilla yksityiskohdissa).

Se siitä!

Kun kaksoisnapsautat asiakkaan nimeä, se käynnistää VBA-taikuuden takapäässä ja tapahtuu seuraavia asioita:

  1. Asiakkaan ja myyntitapahtuman tiedot kerätään ja laskun mallilomake täytetään näillä tiedoilla.
  2. Luodaan uusi työkirja, joka sisältää valitun asiakkaan (jota kaksoisnapsautit) tiedot.
  3. Tämä työkirja tallennetaan PDF -tiedostona Lasku PDF -kansioon.
  4. Uusi työkirja suljetaan tallentamatta.

Jos laskun tiedoissa tapahtuu muutoksia, voit kaksoisnapsauttaa asiakkaan nimeä uudelleen ja luodaan uusi lasku (ja tämä korvaa vanhan).

Huomaa, että laskujen nimet perustuvat kuukauteen ja laskun numeroon.

Esimerkiksi lasku päivämäärällä 15-04-2019 ja laskun numero on 1 tallennetaan nimellä Huhtikuu2021-2022_1.pdf. Tämä auttaa sinua seuraamaan laskuja, jos niitä on liikaa.

Voit ladata laskugeneraattorimallin napsauttamalla alla olevaa painiketta:

Laskugeneraattorin mallin muokkaaminen

Tein tämän laskumallin muodossa, jota tarvitsin GST -arkistointiini.

Jos tarvitset eri muodon, sinun on muokattava mallia ja muokattava tausta -VBA -koodia.

Näytän ensin koodin ja selitän, miten se toimii:

Sub CreateInvoice (RowNum As Integer) Application.ScreenUpdating = False Dim wb Kuten työkirja Dim sh laskentataulukkona shInvoiceTemplate .Range ("D10") = shDetails.Range ("A" & RowNum) .Range ("D11") = shDetails. Range ("B" & RowNum) .Range ("D12") = shDetails.Range ("C" & RowNum) .Range ("B15") = shDetails.Range ("D" & RowNum) .Range ("D15") ) = shDetails.Range ("F" & RowNum). Range ("D16") = shDetails.Range ("G" & RowNum) .Range ("D18") = shDetails.Range ("E" & RowNum) päättyy FPath = "C: \ Users \ sumit \ Desktop \ Lasku PDF" Fname = Muoto (shInvoiceTemplate.Range ("D10"), "mmmm yyyy") _ & "_" & shInvoiceTemplate.Range ("D12") shInvoiceTemplate.Copy ActiveSheet.Name = "InvTemp" Aseta wb = ActiveWorkbook Set sh = ActiveSheet sh.ExportAsFixedFormat Type: = xlTypePDF, Tiedostonimi: = _ FPath & "\" & Fname, Quality: = xlQualityStandard, IncludeDocProperties: = True, _ IgnorePrintA , OpenAfterPublish: = False wb.Sulje SaveChanges: = False ThisWorkbook.Activate Application.ScreenUpdating = Todellinen loppuosa

Yllä oleva koodi kopioi tapahtuman tiedot, täyttää laskun paikkamallin näillä tiedoilla, luo uuden työkirjan ja tallentaa uuden työkirjan PDF -tiedostona määritettyyn kansioon.

Jos sinulla on eri malli tai kansion sijainti, sinun on muokattava koodin alla korostettuja osia:

  1. Ensimmäinen korostettu osa ottaa tiedot Tiedot -taulukosta ja täyttää laskumallin. Jos päätät muokata laskumallia, sinun on varmistettava, että valitset oikeat tiedot muokkaamalla koodin tätä osaa.
  2. Tämä rivi määrittää kansion sijainnin. Minun tapauksessani se oli kansio työpöydälläni. Voit määrittää sen kansion osoitteen, johon haluat laskujen tallennettavan.

Huomaa, että olen nimennyt laskentataulukon koodin nimen uudelleen "shDetails". Olen tehnyt tämän, jotta voin käyttää koodissani nimeä - shDetails - ja se toimisi edelleen, vaikka muutat laskentataulukon arkkien nimen.

Jos haluat lisätietoja arkin nimestä ja koodinimestä, tutustu tähän (tutustu laskentataulukon koodinimen käyttöä koskevaan osioon).

Missä koodi on työkirjassa?

Koodi sijoitetaan moduulin Excel-työkirjan taustaosaan.

Pääset koodiin seuraavasti:

  1. Napsauta Kehittäjä -välilehteä.
  2. Napsauta Visual Basic -vaihtoehtoa. Tämä avaa VB Editor -ikkunan.
  3. Kaksoisnapsauta Visual Basic -editorissa moduulia avataksesi sen koodi-ikkunan. Löydät yllä mainitun koodin.

Jos luot mallin itse, et ehkä löydä moduulia uudesta työkirjasta. Sinun on napsautettava hiiren kakkospainikkeella mitä tahansa työkirjan objekteja, siirry Lisää-kohtaan ja napsauta sitten Moduuli. Tämä lisää uuden moduulin.

Kaksoisnapsautustoiminnon toimiminen

Yllä oleva koodi tekee kaiken raskaan nostamisen, mutta sinun on liitettävä se kaksoisnapsautustapahtumaan.

Tämä tarkoittaa, että yllä oleva VBA-makrokoodi on suoritettava aina, kun joku kaksoisnapsauttaa asiakasnimen sarakkeen täytettyjä soluja.

Tämä voidaan tehdä lisäämällä seuraava koodi laskentataulukon koodi -ikkunaan:

Private Sub Worksheet_BeforeDoubleClick (ByVal Target as Range, Cancel as Boolean) If Target.Cells "" Ja Target.Column = 2 Sitten Peruuta = True Call CreateInvoice (Target.Row) End If End Sub

Voit lisätä tämän koodin laskentataulukon taustaohjelmaan seuraavasti:

  • Napsauta hiiren kakkospainikkeella Tiedot-laskentataulukon välilehteä
  • Napsauta "Näytä koodi" -vaihtoehtoa.
  • Kopioi ja liitä yllä oleva koodi näkyviin tulevaan ikkunaan.

Yllä oleva koodi tekee seuraavat asiat:

  1. Tarkistaa, onko kaksoisnapsautetussa solussa asiakkaan tiedot. Se käyttää IF -käskyä koodin tarkistamiseen ja suorittamiseen vain, jos solu ei ole tyhjä ja sarakkeessa B.
  2. Jos molemmat määritetyt ehdot täyttyvät, se poistaa kaksoisnapsautustoiminnon käytöstä (eli päästä muokkaustilaan) ja kutsuu "CreateInvoice" -aliohjelman, joka on tallennettu moduuliin. Se välittää myös rivinumeron aliohjelmalle. Jos esimerkiksi kaksoisnapsautan asiakkaan nimeä kolmannella rivillä, se välittää arvon 3 CreateInvoice-aliohjelmaan.
  3. Kun CreateInvoice -aliohjelma on suoritettu - joka luo laskun PDF -tiedoston - se päättyy.

Napsauta tätä ladataksesi Laskujen luontimallitiedoston.

Laskumallin tallentaminen Exceliksi (PDF: n sijaan)

Jos haluat tallentaa laskumallit Excel -tiedostoina eikä PDF -tiedostoina, voit käyttää alla olevaa koodia:

Sub CreateInvoice (RowNum As Integer) Application.ScreenUpdating = False Dim wb Kuten työkirja Dim sh laskentataulukkona shInvoiceTemplate .Range ("D10") = shDetails.Range ("A" & RowNum) .Range ("D11") = shDetails. Range ("B" & RowNum) .Range ("D12") = shDetails.Range ("C" & RowNum) .Range ("B15") = shDetails.Range ("D" & RowNum) .Range ("D15") ) = shDetails.Range ("F" & RowNum). Range ("D16") = shDetails.Range ("G" & RowNum) .Range ("D18") = shDetails.Range ("E" & RowNum) Päättyy FPath = "C: \ Users \ sumit \ Desktop \ Lasku PDF" Fname = Muoto (shInvoiceTemplate.Range ("D10"), "mmmm yyyy") _ & "_" & shInvoiceTemplate.Range ("D12") shInvoiceTemplate.Copy ActiveSheet.Name = "InvTemp" Aseta wb = ActiveWorkbook Set sh = ActiveSheet sh.Name = Fname wb.SaveAs Tiedostonimi: = FPath & "\" & Fname wb.Close SaveChanges: = False ThisWorkbook.Activate Application.ScreenUpdating = Todellinen loppuosa

Yllä oleva koodi tallentaa laskun Excel -työkirjana, jolla on sama nimeämiskäytäntö. Työkirjan laskentataulukko, joka sisältää jokaisen tallennetun työkirjan täytetyn laskun, on myös sama.

Saatat pitää myös seuraavista hyödyllisistä Excel -opetusohjelmista:

  • Kuinka muuntaa Excel PDF -muotoon VBA: n avulla.
  • Upota PDF Exceliin.
  • Pura tiedot PDF: stä Exceliin tämän muuntimen avulla.
  • Excel -laskentataulukon malli.
  • Excel Jätä seurantamalli.
  • Ilmaiset Excel -mallit.
wave wave wave wave wave