(Šablóna generátora faktúr ZADARMO) Uložte faktúru Excel ako PDF

Nedávno som sa musel zaregistrovať na základe dane z tovarov a služieb (GST), aby som mohol vo svojich zárobkoch podať žiadosť o daň z tovarov a služieb.

Keď máte číslo GST, musíte podávať daňové priznanie každý mesiac (v Indii).

Takže každý mesiac ma môj účtovný poradca oslovil so žiadosťou o faktúry za predaj, aby mohol podať žiadosť o daň z príjmu.

V mojom prípade je potrebné vytvoriť iba niekoľko faktúr, pretože mám len niekoľko zdrojov príjmu.

Keďže sa však jedná o dodatočnú prácu, chcel som to urobiť čo najskôr.

Aby som minimalizoval svoje úsilie, vytvoril som v programe Excel šablónu generátora faktúr, ktorá mi umožňuje mať všetky údaje na jednom mieste, a potom automaticky vytvára faktúry PDF pre všetky údajové body.

Ako môžete vidieť nižšie, Všetko, čo musím urobiť, je dvakrát kliknúť na meno klienta (v stĺpci B) a faktúra by sa okamžite vytvorila a uložila vo formáte PDF do určeného priečinka.

Môžete tiež upraviť šablónu faktúry tak, aby vyhovovala formátu vašej spoločnosti (čo by vyžadovalo, aby ste trochu zmenili kód VBA - vysvetlené nižšie).

Vytvorí faktúru, ako je uvedené nižšie:

Ako funguje táto šablóna generátora faktúr?

V tejto šablóne faktúry sú dva pracovné hárky:

  1. Podrobnosti - Tu musíte zadať podrobnosti o predaji/transakcii. Aby bolo všetko pohromade, vytvoril som pre každý záznam jeden riadok. Všetky podrobnosti o transakcii sú zaznamenané v riadku.
  2. Šablóna faktúry - Toto je zástupný vzor šablóny faktúry, v ktorej sú niektoré polia prázdne. Potrebujem vygenerovať samostatnú faktúru pre všetky záznamy o predaji a podrobnosti o každej faktúre sa vyzdvihnú z pracovného hárka Podrobnosti.

Na pracovnej ploche mám tiež priečinok s názvom „Fakturačné súbory PDF“. Toto je priečinok, kde sú uložené novovytvorené faktúry PDF.

Teraz sa pozrime, ako to funguje:

Musíte dvakrát kliknúť na meno klienta (v liste s podrobnosťami je zvýraznené oranžovou farbou).

To je všetko!

Keď dvakrát kliknete na meno klienta, spustí sa to kúzlo VBA na zadnom konci a stanú sa nasledujúce veci:

  1. Vyzdvihnú sa podrobnosti o klientovi a transakcii predaja a tieto podrobnosti sa vyplnia vo formulári šablóny faktúry.
  2. Vytvorí sa nový zošit, ktorý obsahuje podrobnosti o vybratom klientovi (na ktorého ste dvakrát klikli).
  3. Tento zošit je uložený ako PDF v priečinku Faktúra PDF.
  4. Nový zošit je zatvorený bez uloženia.

V prípade, že dôjde k zmenám v podrobnostiach faktúry, môžete znova dvakrát kliknúť na meno klienta a vytvorí sa nová faktúra (a tá prepíše starú).

Upozorňujeme, že názvy faktúr vychádzajú z mesiaca a čísla faktúry.

Napríklad faktúra s dátumom 15-04-2019 a číslo faktúry ako 1 budú uložené s menom Apríl2021-2022_1.pdf. Pomáha to sledovať faktúry v prípade, že ich máte príliš veľa.

Šablónu generátora faktúr si môžete stiahnuť kliknutím na tlačidlo nižšie:

Úprava šablóny generátora faktúr

Túto šablónu faktúry som vytvoril vo formáte, ktorý som potreboval pre svoje podania GST.

Ak potrebujete iný formát, budete musieť upraviť šablónu a potom upraviť backendový kód VBA.

Najprv vám ukážem kód a vysvetlím, ako funguje:

Sub CreateInvoice (RowNum As Integer) Application.ScreenUpdating = False Dim wb As Workbook Dim sh As Worksheet With shInvoiceTemplate .Range ("D10") = shDetails.Range ("A" & RowNum) .Range ("D11") = shDetails. Rozsah ("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) Koniec FPath = "C: \ Users \ sumit \ Desktop \ Invoice PDFs" Fname = Format (shInvoiceTemplate.Range ("D10"), "mmmm yyyy") _ & "_" & shInvoiceTemplate.Range ("D12") shInvoiceTemplate.Copy ActiveSheet.Name = Sada "InvTemp" wb = Sada ActiveWorkbook sh = ActiveSheet sh.ExportAsFixedFormat Typ: = xlTypePDF, názov súboru: = _ FPath & "\" & Fname, kvalita: = xlQualityStandard, IncludeDocProperties: = True, _ IgnorePrint , OpenAfterPublish: = False wb.Close SaveChanges: = False ThisWorkbook.Activate Application.ScreenUpdating = True End Sub

Vyššie uvedený kód je tým, čo kopíruje detaily transakcie, vyplní šablónu zástupného symbolu faktúry týmito údajmi, vytvorí nový zošit a uloží nový zošit ako PDF do určeného priečinka.

Ak máte inú šablónu alebo iné umiestnenie priečinka, musíte upraviť nižšie zvýraznené časti kódu:

  1. Prvá zvýraznená časť je tá, ktorá preberá podrobnosti z hárka podrobností a vyplní šablónu faktúry. Ak sa rozhodnete upraviť šablónu faktúry, musíte sa uistiť, že ste vybrali správne údaje úpravou tejto časti kódu.
  2. Tento riadok určuje umiestnenie priečinka. V mojom prípade to bol priečinok na mojej pracovnej ploche. Môžete zadať adresu priečinka, do ktorého chcete uložiť faktúry.

Všimnite si toho, že som premenoval kódový názov pracovného hárka na „shDetails“. Urobil som to tak, aby som mohol vo svojom kóde použiť názov - shDetails - a pokračoval by v práci, aj keď zmeníte názov hárkov v pracovnom hárku.

Ak sa chcete dozvedieť viac o názve hárka a kódovom názve, pozrite sa na to (pozrite si časť o používaní kódového názvu pracovného hárka).

Kde je kód v zošite?

Kód je umiestnený v modulu na zadnom konci zošita programu Excel.

Ak chcete získať prístup ku kódu, postupujte podľa nasledujúcich krokov:

  1. Kliknite na kartu Vývojár.
  2. Kliknite na možnosť Visual Basic. Tým sa otvorí okno editora VB.
  3. V editore jazyka Visual Basic dvakrát kliknite na modul, čím sa otvorí okno s kódom. Nájdete kód uvedený vyššie.

V prípade, že si vytvárate šablónu sami, modul možno nenájdete v novom zošite. Na ľubovoľný objekt zošita musíte kliknúť pravým tlačidlom myši, prejsť na položku Vložiť a potom kliknúť na položku Modul. Tým sa vloží nový modul.

Ako funguje funkcia dvojitého kliknutia

Vyššie uvedený kód robí všetky ťažké práce, ale musíte ho pripojiť k udalosti dvojitého kliknutia.

To znamená, že vyššie uvedený kód makra VBA sa musí spustiť vždy, keď niekto dvakrát klikne na vyplnené bunky v stĺpci s názvom klienta.

To sa dá dosiahnuť vložením nasledujúceho kódu do okna kódu pracovného hárka:

Súkromný čiastkový pracovný list_BeforeDoubleClick (ByVal cieľ ako rozsah, Zrušiť ako booleovský) Ak Target.Cells "" A Target.Column = 2 potom zrušiť = True Call CreateInvoice (Target.Row) End If End Sub

Tu je postup, ako vložiť tento kód do backendu pracovného hárka:

  • Kliknite pravým tlačidlom myši na kartu pracovného listu „Podrobnosti“
  • Kliknite na možnosť „Zobraziť kód“.
  • Skopírujte a prilepte vyššie uvedený kód do zobrazeného okna kódu.

Vyššie uvedený kód robí nasledujúce veci:

  1. Skontroluje, či bunka, na ktorú sa dvakrát kliklo, obsahuje podrobnosti o klientovi alebo nie. Na kontrolu a spustenie kódu používa príkaz IF iba vtedy, ak bunka nie je prázdna a je v stĺpci B.
  2. Ak sú splnené obidve uvedené kritériá, deaktivuje to funkciu dvojitého kliknutia (ktorá sa má dostať do režimu úprav) a zavolá podprogram „CreateInvoice“, ktorý je uložený v module. Do podprogramu tiež odovzdá hodnotu čísla riadka. Ak napríklad dvakrát kliknem na meno klienta v treťom riadku, odovzdá hodnotu 3 ako hodnotu podprogramu CreateInvoice.
  3. Hneď ako sa spustí podprogram „CreateInvoice“ - ktorý vytvorí PDF faktúru - skončí.

Kliknutím sem stiahnete súbor šablóny generátora faktúr.

Uloženie šablóny faktúry vo formáte Excel (namiesto PDF)

Ak chcete šablóny faktúr uložiť ako súbory programu Excel a nie ako súbory PDF, môžete namiesto toho použiť nasledujúci kód:

Sub CreateInvoice (RowNum As Integer) Application.ScreenUpdating = False Dim wb As Workbook Dim sh As Worksheet With shInvoiceTemplate .Range ("D10") = shDetails.Range ("A" & RowNum) .Range ("D11") = shDetails. Rozsah ("B" & číslo riadku) .Rozsah ("D12") = shDetails.Range ("C" & číslo riadku). Rozsah ("B15") = shDetails.Range ("D" & číslo riadku). Rozsah ("D15" ) = shDetails.Range ("F" & RowNum) .Range ("D16") = shDetails.Range ("G" & RowNum) .Range ("D18") = shDetails.Range ("E" & RowNum) Koniec FPath = "C: \ Users \ sumit \ Desktop \ Invoice PDFs" Fname = Format (shInvoiceTemplate.Range ("D10"), "mmmm yyyy") _ & "_" & shInvoiceTemplate.Range ("D12") shInvoiceTemplate.Copy ActiveSheet.Name = Sada "InvTemp" wb = Sada ActiveWorkbook sh = ActiveSheet sh.Name = Fname wb.SaveAs Názov súboru: = FPath & "\" & Fname wb.Close SaveChanges: = False ThisWorkbook.Activate Application.ScreenUpdating = True End Sub

Vyššie uvedený kód uloží faktúru ako zošit programu Excel s rovnakou konvenciou pomenovania. Pracovný list v zošite, ktorý obsahuje vyplnenú faktúru v každom uloženom zošite, sa tiež nazýva rovnako.

Tiež by sa vám mohli páčiť nasledujúce užitočné návody pre Excel:

  • Ako previesť Excel na PDF pomocou VBA.
  • Vložiť PDF do Excelu.
  • Extrahujte údaje z PDF do Excelu pomocou tohto prevodníka.
  • Šablóna kalkulačky časového rozvrhu programu Excel.
  • Šablóna sledovača Excel Leave.
  • Bezplatné šablóny programu Excel.

Vám pomôže rozvoju miesta, zdieľať stránku s priateľmi

wave wave wave wave wave