(NEMOKAMAS sąskaitų faktūrų generatoriaus šablonas) Išsaugokite „Excel“ sąskaitą faktūrą kaip PDF

Neseniai turėjau užsiregistruoti prekių ir paslaugų mokesčiu (GST), kad galėčiau pateikti pajamų deklaraciją GST.

Kai turite GST numerį, turite kas mėnesį (Indijoje) pateikti mokesčių deklaraciją.

Taigi kiekvieną mėnesį mano buhalteris, kreipęsis į mane, kreipdavosi į mane ir paprašė pardavimo sąskaitų faktūrų, kad galėtų pateikti GST.

Mano atveju reikia sukurti tik keletą sąskaitų faktūrų, nes turiu tik keletą pajamų šaltinių.

Tačiau kadangi tai yra papildomas darbas, norėjau tai padaryti kuo greičiau.

Taigi, norėdamas sumažinti savo pastangas, „Excel“ sukūriau sąskaitų generatoriaus šabloną, kuris leidžia turėti visus duomenis vienoje vietoje, o tada automatiškai sukuria PDF sąskaitas faktūras visiems duomenų taškams.

Kaip matote žemiau, man tereikia dukart spustelėti kliento vardą (B stulpelyje), ir ji iškart sukurtų ir išsaugotų sąskaitą faktūrą PDF formatu nurodytame aplanke.

Taip pat galite pakeisti sąskaitos faktūros šabloną, kad jis atitiktų jūsų įmonės formatą (todėl reikės šiek tiek pakeisti VBA kodą - paaiškinta žemiau).

Jis sukuria sąskaitą faktūrą, kaip parodyta žemiau:

Kaip veikia šis sąskaitų faktūrų generatoriaus šablonas?

Šiame sąskaitos faktūros šablone yra du darbalapiai:

  1. Išsami informacija - Čia reikia nurodyti pardavimo/sandorio detales. Kad viskas būtų kartu, kiekvienam įrašui sukūriau vieną eilutę. Visa informacija apie operaciją įrašoma į eilutę.
  2. Sąskaitos faktūros šablonas - Tai sąskaitos faktūros vietos rezervavimo šablonas, kuriame kai kurie laukai paliekami tušti. Turiu sugeneruoti atskirą sąskaitą faktūrą visiems pardavimo įrašams, o kiekvienos sąskaitos faktūros informacija paimama iš išsamios informacijos lapo.

Dar darbalaukyje turiu aplanką pavadinimu „Sąskaitos faktūros PDF“. Tai yra aplankas, kuriame išsaugomos naujai sukurtos PDF sąskaitos faktūros.

Dabar pažiūrėkime, kaip tai veikia:

Turite dukart spustelėti kliento vardą (išsamiai aprašyme paryškintas oranžine spalva).

Viskas!

Dukart spustelėjus kliento vardą, jis pradeda VBA magiją galinėje dalyje ir atsitinka šie dalykai:

  1. Išsami informacija apie klientą ir pardavimo sandorį paimama, o sąskaitos faktūros šablono lapas užpildomas šia informacija.
  2. Sukuriama nauja darbaknygė, kurioje yra išsami informacija apie pasirinktą klientą (ant kurio spustelėjote du kartus).
  3. Ši darbaknygė išsaugoma kaip PDF aplankas Sąskaita faktūra PDF.
  4. Nauja darbo knyga uždaryta neišsaugojus.

Jei sąskaitos faktūros duomenys pasikeičia, galite dar kartą dukart spustelėti kliento vardą ir bus sukurta nauja sąskaita faktūra (ir tai perrašys senąją).

Atminkite, kad sąskaitų faktūrų pavadinimai yra pagrįsti mėnesiu ir sąskaitos faktūros numeriu.

Pavyzdžiui, sąskaita faktūra su data 15-04-2019 ir sąskaitos faktūros numerį kaip 1 būtų išsaugotas su pavadinimu Balandis2021-2022_1.pdf. Tai padeda sekti sąskaitas faktūras, jei jų yra per daug.

Sąskaitų faktūrų generatoriaus šabloną galite atsisiųsti spustelėję žemiau esantį mygtuką:

Sąskaitų faktūrų generatoriaus šablono keitimas

Sukūriau šį sąskaitos faktūros šabloną tokiu formatu, kokio man reikėjo GST byloms.

Jei jums reikia kitokio formato, turėsite redaguoti šabloną ir tada koreguoti galinį VBA kodą.

Pirmiausia parodysiu kodą ir paaiškinsiu, kaip jis veikia:

Sub CreateInvoice (RowNum As Integer) Application.ScreenUpdating = False Dim wb Kaip darbaknygės Dim sh kaip darbalapis Su shInvoiceTemplate .Range ("D10") = shDetails.Range ("A" & RowNum) .Range ("D11") = shDetails. Diapazonas ("B" ir eilutės numeris). Diapazonas ("D12") = shDetails.Range ("C" ir RowNum). Diapazonas ("B15") = shDetails.Range ("D" ir RowNum) .Range ("D15") ) = shDetails.Range ("F" & RowNum). Range ("D16") = shDetails.Range ("G" & RowNum) .Range ("D18") = shDetails.Range ("E" & RowNum) Pabaigti FPath = "C: \ Users \ sumit \ Desktop \ Invoice PDFs" Fname = Formatas (shInvoiceTemplate.Range ("D10"), "mmmm yyyy") _ & "_" & shInvoiceTemplate.Range ("D12") shInvoiceTemplate.Copy ActiveSheet.Name = "InvTemp" Nustatykite wb = ActiveWorkbook Set sh = ActiveSheet sh.ExportAsFixedFormat Type: = xlTypePDF, Filename: = _FPath & "\" & Fname, Quality: = xlQualityStandard, IncludeDocProperties: = True, _ IgnorePrintA , OpenAfterPublish: = False wb. Uždaryti SaveChanges: = False ThisWorkbook.Activate Application.ScreenUpdating = True End Sub

Aukščiau pateiktas kodas kopijuoja išsamią operacijos informaciją, užpildo tą sąskaitos faktūros vietos rezervavimo šabloną, sukuria naują darbaknygę ir išsaugo naują darbaknygę kaip PDF nurodytame aplanke.

Jei turite kitą šabloną arba kitą aplanko vietą, turite pakeisti toliau paryškintas kodo dalis:

  1. Pirmasis paryškintas skyrius yra tai, kas paima išsamią informaciją iš informacijos lapo ir užpildo sąskaitos faktūros šabloną. Jei nuspręsite keisti sąskaitos faktūros šabloną, turite įsitikinti, kad renkatės teisingą informaciją, pakeisdami šią kodo dalį.
  2. Ši eilutė nurodo aplanko vietą. Mano atveju tai buvo aplankas mano darbalaukyje. Galite nurodyti aplanko, kuriame norite išsaugoti sąskaitas faktūras, adresą.

Atminkite, kad darbalapio kodo pavadinimą pervadinau į „shDetails“. Aš tai padariau, kad galėčiau naudoti pavadinimą - shDetails - savo kode ir jis ir toliau veiktų, net jei pakeisite darbalapio lapų pavadinimą.

Jei norite sužinoti daugiau apie lapo pavadinimą ir kodo pavadinimą, pažiūrėkite į tai (peržiūrėkite skyrių apie darbalapio kodo pavadinimo naudojimą).

Kur yra darbo knygos kodas?

Kodas dedamas į „Excel“ darbaknygės galinį modulį.

Norėdami pasiekti kodą, atlikite šiuos veiksmus:

  1. Spustelėkite skirtuką Kūrėjas.
  2. Spustelėkite „Visual Basic“ parinktį. Bus atidarytas VB redaktoriaus langas.
  3. „Visual Basic“ redaktoriuje dukart spustelėkite modulį, kad atidarytumėte jo kodo langą. Rasite aukščiau paminėtą kodą.

Jei kuriate šabloną patys, modulio galite nerasti naujoje darbaknygėje. Turite dešiniuoju pelės mygtuku spustelėti bet kurį darbaknygės objektą, eiti į Įterpti, tada spustelėkite Modulis. Tai įterps naują modulį.

Dvigubo spustelėjimo funkcijos veikimas

Aukščiau pateiktas kodas atlieka visus sunkumus, tačiau turite jį prijungti prie įvykio dukart spustelėdami.

Tai reiškia, kad aukščiau pateiktas VBA makrokomandos kodas turi būti paleistas, kai kas nors dukart spustelėja užpildytas langelius kliento pavadinimo stulpelyje.

Tai galima padaryti įterpiant šį kodą į darbalapio kodo langą:

Privatus antrinis darbalapis_BeforeDoubleClick („ByVal Target As Range“, atšaukti kaip „Boolean“) Jei Target.Cells "" Ir Target.Column = 2 Tada Cancel = True Call CreateInvoice (Target.Row) Pabaiga Jei pabaiga

Norėdami įterpti šį kodą į darbalapio užpakalinę dalį, atlikite šiuos veiksmus:

  • Dešiniuoju pelės mygtuku spustelėkite darbalapio skirtuką „Išsami informacija“
  • Spustelėkite parinktį „Peržiūrėti kodą“.
  • Nukopijuokite ir įklijuokite aukščiau pateiktą kodą į rodomą kodo langą.

Aukščiau pateiktas kodas atlieka šiuos veiksmus:

  1. Patikrina, ar langelis, kuriame buvo du kartus spustelėtas, turi išsamią informaciją apie klientą. Jis naudoja IF sakinį kodui patikrinti ir paleisti tik tuo atveju, jei langelis nėra tuščias ir B stulpelyje.
  2. Jei tenkinami abu nurodyti kriterijai, jis išjungia dvigubo paspaudimo funkciją (įeiti į redagavimo režimą) ir iškviečia „CreateInvoice“ paprogramę, kuri saugoma modulyje. Ji taip pat perduoda eilutės numerio reikšmę paprogramei. Pavyzdžiui, jei dukart spustelėsiu kliento pavadinimą trečioje eilutėje, jis perduos 3 kaip reikšmę „CreateInvoice“ paprogramei.
  3. Kai vykdoma paprogramė „CreateInvoice“, kuri sukuria sąskaitos faktūros PDF failą, ji baigiasi.

Spustelėkite čia, kad atsisiųstumėte sąskaitų faktūrų generatoriaus šablono failą.

Sąskaitos faktūros šablono išsaugojimas kaip „Excel“ (vietoj PDF)

Jei norite išsaugoti sąskaitų faktūrų šablonus kaip „Excel“ failus, o ne kaip PDF failus, galite naudoti žemiau esantį kodą:

Sub CreateInvoice (RowNum As Integer) Application.ScreenUpdating = False Dim wb Kaip darbaknygės Dim sh kaip darbalapis Su shInvoiceTemplate .Range ("D10") = shDetails.Range ("A" & RowNum) .Range ("D11") = shDetails. Diapazonas ("B" ir eilutės numeris). Diapazonas ("D12") = shDetails.Range ("C" ir RowNum). Diapazonas ("B15") = shDetails.Range ("D" ir RowNum) .Range ("D15") ) = shDetails.Range ("F" & RowNum). Range ("D16") = shDetails.Range ("G" & RowNum) .Range ("D18") = shDetails.Range ("E" & RowNum) Pabaigti FPath = "C: \ Users \ sumit \ Desktop \ Invoice PDFs" Fname = Formatas (shInvoiceTemplate.Range ("D10"), "mmmm yyyy") _ & "_" & shInvoiceTemplate.Range ("D12") shInvoiceTemplate.Copy ActiveSheet.Name = "InvTemp" Nustatyti wb = ActiveWorkbook Nustatyti sh = ActiveSheet sh.Name = Fname wb.SaveAs Failo pavadinimas: = FPath & "\" & Fname wb.Close SaveChanges: = False ThisWorkbook.Activate Application.ScreenUpdating = Tikro pabaigos antraštė

Aukščiau pateiktas kodas išsaugo sąskaitą faktūrą kaip „Excel“ darbaknygę su ta pačia pavadinimo sutartimi. Darbaknygės darbalapis, kuriame yra užpildyta sąskaita faktūra kiekvienoje išsaugotoje darbaknygėje, taip pat pavadintas tuo pačiu.

Jums taip pat gali patikti šios „Excel“ pamokos:

  • Kaip konvertuoti „Excel“ į PDF naudojant VBA.
  • Įterpti PDF į „Excel“.
  • Naudodami šį keitiklį ištraukite duomenis iš PDF į „Excel“.
  • „Excel“ darbo laiko apskaitos skaičiuoklės šablonas.
  • „Excel“ stebėjimo šablonas.
  • Nemokami „Excel“ šablonai.

Padėsite svetainės plėtrą, dalintis puslapį su draugais

wave wave wave wave wave