(TASUTA arvegeneraatori mall) Salvestage Exceli arve PDF -failina

Hiljuti pidin end registreerima kaupade ja teenuste maksu (GST) alla, et saaksin oma tulude kohta GST -d esitada.

Kui teil on GST -number, peate maksudeklaratsiooni esitama iga kuu (Indias).

Nii et minu raamatupidaja pöördus iga kuu minu poole ja küsis müügiarveid, et ta saaks esitada GST -i.

Minu puhul tuleb luua vaid käputäis arveid, kuna mul on vaid mõned sissetulekuallikad.

Kuna see on aga lisatöö, tahtsin selle võimalikult kiiresti ära teha.

Nii et oma pingutuste minimeerimiseks lõin Excelis arvegeneraatori malli, mis võimaldab mul kõik andmed ühes kohas olla ja seejärel loob see automaatselt kõigi andmepunktide jaoks PDF -arved.

Nagu näete allpool, kõik, mida ma pean tegema, on topeltklõps kliendi nimel (veerus B) ning see looks ja salvestaks arve koheselt määratud kausta PDF -vormingus.

Samuti saate arve malli muuta vastavalt oma ettevõtte vormingule (mis nõuab VBA koodi pisut muutmist - selgitatud allpool).

See loob arve, nagu allpool näidatud:

Kuidas see arvegeneraatori mall töötab?

Selles arve mallis on kaks töölehte:

  1. Üksikasjad - Siin peate täpsustama müügi/tehingu üksikasjad. Et kõike koos hoida, olen igale rekordile loonud ühe rea. Kõik tehingu üksikasjad salvestatakse reale.
  2. Arve mall - See on arve kohatäitemall, kus mõned väljad jäetakse tühjaks. Pean kõigi müügikirjete jaoks eraldi arve genereerima ja iga arve üksikasjad võetakse üles töölehelt Üksikasjad.

Mul on ka töölaual kaust nimega „Arve PDF -id”. See on kaust, kuhu salvestatakse äsja loodud PDF -arved.

Nüüd vaatame, kuidas see toimib:

Peate topeltklõpsama kliendi nime (üksikasjade lehel oranžiga esile tõstetud).

See on kõik!

Kui topeltklõpsate kliendi nimel, käivitab see tagaosas VBA maagia ja juhtub järgmisi asju:

  1. Kliendi ja müügitehingu üksikasjad korjatakse ning arve malli leht täidetakse nende andmetega.
  2. Luuakse uus töövihik, millel on valitud kliendi andmed (millel te topeltklõpsasite).
  3. See töövihik salvestatakse PDF -failina kausta Arve PDF.
  4. Uus töövihik suletakse salvestamata.

Kui arve üksikasjades on muudatusi, saate topeltklõpsata kliendi nimel uuesti ja luuakse uus arve (ja see kirjutab vana üle).

Arvestage, et arvete nimed põhinevad kuul ja arve numbril.

Näiteks arve kuupäevaga 15-04-2019 ja arve number nagu 1 salvestatakse koos nimega Aprill2021-2022_1.pdf. See aitab arveid jälgida, kui teil on liiga palju arveid.

Arvegeneraatori malli saate alla laadida, klõpsates alloleval nupul:

Arvegeneraatori malli muutmine

Lõin selle arve malli vormingus, mida vajasin oma GST -arhiveerimiseks.

Kui vajate muud vormingut, peate malli muutma ja seejärel tagavara VBA -koodi kohandama.

Esmalt näitan teile koodi ja selgitan, kuidas see toimib:

Sub CreateInvoice (RowNum As Integer) Application.ScreenUpdating = Vale Dim wb Töövihikuna Dim sh töölehena shInvoiceTemplate .Range ("D10") = shDetails.Range ("A" & RowNum) .Range ("D11") = shDetails. Vahemik ("B" & RidaNum). Vahemik ("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) Lõpp FPath = "C: \ Users \ sumit \ Desktop \ Arve PDF" Fname = Formaat (shInvoiceTemplate.Range ("D10"), "mmmm yyyy") _ & "_" & shInvoiceTemplate.Range ("D12") shInvoiceTemplate.Copy ActiveSheet.Name = "InvTemp" Määra wb = ActiveWorkbook Set sh = ActiveSheet sh.ExportAsFixedFormat Type: = xlTypePDF, Filename: = _ FPath & "\" & Fname, Quality: = xlQualityStandard, IncludeDocProperties: = True, _ IgnorePrintA , OpenAfterPublish: = Vale wb. Sulge SaveChanges: = Vale See töövihik. Aktiveeri rakendus. ScreenUpdating = True End Sub

Ülaltoodud kood kopeerib tehingu üksikasjad, täidab arve kohatäite malli nende andmetega, loob uue töövihiku ja salvestab uue töövihiku PDF -failina määratud kausta.

Kui teil on erinev mall või kausta asukoht, peate koodi allpool esile tõstetud osi muutma.

  1. Esimene esiletõstetud jaotis võtab üksikasjade lehe üksikasjad ja täidab arve malli. Kui otsustate arve malli muuta, peate koodi seda osa muutes veenduma, et valite õiged üksikasjad.
  2. See rida määrab kausta asukoha. Minu puhul oli see minu töölaua kaust. Saate määrata kausta aadressi, kuhu soovite arved salvestada.

Pange tähele, et olen töölehe koodi nime ümber nimetanud „shDetails”. Olen seda teinud, et saaksin oma koodis kasutada nime - shDetails - ja see töötaks ka siis, kui muudate töölehe lehtede nime.

Kui soovite lehe nime ja koodnime kohta rohkem teada saada, vaadake seda (vaadake jaotist Töölehe koodinime kasutamine).

Kus on töövihiku kood?

Kood paigutatakse Exceli töövihiku tagaküljele moodulis.

Koodile juurdepääsemiseks toimige järgmiselt.

  1. Klõpsake vahekaarti Arendaja.
  2. Klõpsake suvandil Visual Basic. See avab VB redaktori akna.
  3. Topeltklõpsake Visual Basic redaktoris selle mooduli avamiseks moodulit. Leiate ülalmainitud koodi.

Kui loote malli ise, ei pruugi te moodulit uues töövihikus leida. Peate paremklõpsama mõnel töövihiku objektil, minge jaotisse Sisesta ja seejärel klõpsake Moodul. See lisab uue mooduli.

Topeltklõpsu funktsionaalsuse toimimine

Ülaltoodud kood teeb kõik raskused, kuid peate selle ühendama topeltklõpsuga.

See tähendab, et ülaltoodud VBA makrokoodi tuleb käitada alati, kui keegi topeltklõpsab kliendi nime veeru täidetud lahtritel.

Seda saab teha, sisestades töölehe koodi aknasse järgmise koodi:

Privaatne alamtööleht_BeforeDoubleClick (ByVal Target as Range, Cancel as Boolean) If Target.Cells "" And Target.Column = 2 Siis Cancel = True Call CreateInvoice (Target.Row) End If End Sub

Selle koodi sisestamiseks töölehe taustaprogrammi toimige järgmiselt.

  • Paremklõpsake töölehe vahekaarti „Üksikasjad”
  • Klõpsake suvandit „Vaata koodi”.
  • Kopeerige ja kleepige ülaltoodud kood kuvatavasse aknaaknasse.

Ülaltoodud kood teeb järgmist.

  1. Kontrollib, kas topeltklõpsuga lahtril on kliendi andmed või mitte. See kasutab IF -lauset koodi kontrollimiseks ja käitamiseks ainult siis, kui lahter pole tühi ja veerus B.
  2. Kui mõlemad määratud kriteeriumid on täidetud, keelab see topeltklõpsamise funktsiooni (mis on redigeerimisrežiimi sisenemiseks) ja kutsub alamprogrammi „CreateInvoice”, mis on moodulisse salvestatud. Samuti edastab see alamprogrammile rea numbri väärtuse. Näiteks kui topeltklõpsan kliendi nime kolmandal real, edastab see väärtuse 3 alamprogrammile CreateInvoice.
  3. Kui alamprogramm „CreateInvoice” on täidetud - see loob arve PDF -faili - see lõpeb.

Arvegeneraatori malli faili allalaadimiseks klõpsake siin.

Arve malli salvestamine Excelina (PDF -i asemel)

Kui soovite arve mallid salvestada Exceli failidena, mitte PDF -failidena, saate selle asemel kasutada järgmist koodi:

Sub CreateInvoice (RowNum As Integer) Application.ScreenUpdating = Vale Dim wb Töövihikuna Dim sh töölehena shInvoiceTemplate .Range ("D10") = shDetails.Range ("A" & RowNum) .Range ("D11") = shDetails. Vahemik ("B" & RidaNum). Vahemik ("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) Lõpp FPath = "C: \ Users \ sumit \ Desktop \ Arve PDF" Fname = Formaat (shInvoiceTemplate.Range ("D10"), "mmmm yyyy") _ & "_" & shInvoiceTemplate.Range ("D12") shInvoiceTemplate.Copy ActiveSheet.Name = "InvTemp" Set wb = ActiveWorkbook Set sh = ActiveSheet sh.Name = Fname wb.SaveAs Failinimi: = FPath & "\" & Fname wb.Close SaveChanges: = False ThisWorkbook.Activate Application.ScreenUpdating = Tõelise lõpu alam

Ülaltoodud kood salvestab arve Exceli töövihikuna, millel on sama nimetamisviis. Sama nime kannab ka töövihiku tööleht, mis sisaldab iga salvestatud töövihiku täidetud arvet.

Teile võivad meeldida ka järgmised Exceli õpetused:

  • Kuidas teisendada Excel PDF -failiks VBA abil.
  • PDF -i manustamine Excelisse.
  • Selle muunduri abil saate andmeid PDF -ist Excelisse ekstraheerida.
  • Exceli ajalehe kalkulaatori mall.
  • Exceli lahkumismalli mall.
  • Tasuta Exceli mallid.

Te aitate arengu ala, jagades leht oma sõpradega

wave wave wave wave wave