(БЕЗПЛАТЕН шаблон за генератор на фактури) Запазете Excel фактура като PDF

Наскоро се наложи да се регистрирам под данък върху стоките и услугите (GST), за да мога да подавам заявка за GST върху приходите си.

След като имате GST номер, трябва да подавате данъчната си декларация всеки месец (в Индия).

Така че всеки месец моят дипломиран счетоводител ще се свързва с мен с молба за фактури за продажби, за да може да подаде документи за GST.

В моя случай има само няколко фактури, които трябва да бъдат създадени, тъй като имам само няколко източника на доходи.

Но тъй като това е допълнителна работа, исках да свърша това възможно най -бързо.

За да минимизирам усилията си, създадох шаблон за генериране на фактури в Excel, който ми позволява да разполагам с всички данни на едно място и след това автоматично създава PDF фактури за всички точки с данни.

Както можете да видите по -долу, всичко, което трябва да направя, е да кликнете два пъти върху името на клиента (в колона Б) и той незабавно ще създаде и запише фактурата във формат PDF в посочената папка.

Можете също да промените шаблона на фактурата, така че да отговаря на формата на вашата компания (което би изисквало от вас да промените малко кода VBA - обяснено по -долу).

Той създава фактура, както е показано по -долу:

Как работи този шаблон за генератор на фактури?

В този шаблон за фактура има два работни листа:

  1. Подробности - Тук трябва да посочите подробностите за продажбата/транзакцията. За да запазя всичко заедно, създадох по един ред за всеки запис. Всички подробности за транзакцията се записват в реда.
  2. Шаблон за фактура - Това е шаблон на заместител на фактурата, където някои полета са оставени празни. Трябва да генерирам отделна фактура за всички записи за продажбите и подробностите за всяка фактура се вземат от работния лист с подробности.

Имам и папка на работния плот с името „Фактури PDF“. Това е папката, в която се запазват новосъздадените фактури в PDF формат.

Нека сега да видим как работи това:

Трябва да кликнете два пъти върху името на клиента (маркирано в оранжево в листа с подробности).

Това е!

Когато щракнете двукратно върху името на клиента, той стартира магията на VBA в задния край и се случват следните неща:

  1. Детайлите за клиента и транзакцията за продажба се вземат и листът с фактура на фактура се попълва с тези данни.
  2. Създава се нова работна книга, която съдържа подробности за избрания клиент (върху който щракнете двукратно).
  3. Тази работна книга се записва като PDF в папката Invoice PDF.
  4. Новата работна книга е затворена без запазване.

В случай, че има някакви промени в данните за фактурата, можете да щракнете двукратно върху името на клиента и ще бъде създадена нова фактура (и това ще замени старата).

Обърнете внимание, че имената на фактурите се основават на месеца и номера на фактурата.

Например фактура с дата 15-04-2019 и номера на фактурата като 1 ще бъдат запазени с името Април2021-2022_1.pdf. Това помага да следите фактурите, в случай че имате твърде много.

Можете да изтеглите шаблона за генератор на фактури, като кликнете върху бутона по -долу:

Промяна на шаблона за генератор на фактури

Създадох този шаблон за фактура с формат, който ми беше необходим за моите GST документи.

Ако имате нужда от различен формат, ще трябва да редактирате шаблона и след това да коригирате задния VBA код.

Нека първо да ви покажа кода и да обясня как работи:

Sub CreateInvoice (RowNum As Integer) Application.ScreenUpdating = False Dim wb Като работна книга Dim sh As Работен лист С 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) Край с FPath = "C: \ Users \ sumit \ Desktop \ Invoice PDFs" Fname = Format (shInvoiceTemplate.Range ("D10"), "mmmm yyyy") _ & "_" & shInvoiceTemplate.Range ("D12") shInvoiceTemplate.Copy ActiveSheet.Name = "InvTemp" Set wb = ActiveWorkbook Set sh = ActiveSheet sh.ExportAsFixedFormat Тип: = xlTypePDF, Име на файл: = _ FPath & "\" & Fname, Качество: = xlQualityStandard, IncludeDocProperrerere: True, _, , OpenAfterPublish: = False wb.Close SaveChanges: = False ThisWorkbook.Activate Application.ScreenUpdating = True End Sub

Горният код е това, което копира детайлите на транзакция, попълва шаблона на заместителя на фактура с тези данни, създава нова работна книга и записва новата работна книга като PDF в посочената папка.

Ако имате различен шаблон или различно местоположение на папка, трябва да промените долупосочените части на кода:

  1. Първият подчертан раздел е това, което взема подробности от листа с подробности и попълва шаблона на фактура. Ако решите да промените шаблона на фактура, трябва да се уверите, че избирате правилните данни, като промените тази част от кода.
  2. Този ред определя местоположението на папката. В моя случай това беше папка на работния ми плот. Можете да посочите адреса на папката, където искате да бъдат записани фактурите.

Обърнете внимание, че преименувах кодовото име на работния лист на „shDetails“. Направих това, за да мога да използвам името - shDetails - в моя код и той ще продължи да работи, дори ако промените името на листовете в работния лист.

Ако искате да научите повече за името на листа и кодовото име, погледнете това (вижте раздела за използване на кодовото име на работния лист).

Къде е кодът в работната книга?

Кодът се поставя в задната част на работната книга на Excel в модул.

За достъп до кода, изпълнете следните стъпки:

  1. Щракнете върху раздела Разработчик.
  2. Щракнете върху опцията Visual Basic. Това ще отвори прозореца на VB Editor.
  3. В редактора на Visual Basic щракнете двукратно върху модула, за да отворите кодовия прозорец. Ще намерите кода, споменат по -горе.

В случай, че сами създавате шаблон, може да не намерите модула в нова работна книга. Трябва да щракнете с десния бутон върху някой от обектите на работната книга, да отидете на Вмъкване и след това да щракнете върху Модул. Това ще постави нов модул.

Работа на функцията за двойно щракване

Горният код изпълнява всички тежки задачи, но трябва да го свържете със събитието с двойно щракване.

Това означава, че горният макро код на VBA трябва да се изпълнява всеки път, когато някой кликне два пъти върху запълнените клетки в колоната с име на клиента.

Това може да стане, като вмъкнете следния код в прозореца с код на работния лист:

Private Sub Worksheet_BeforeDoubleClick (ByVal Target As Range, Cancel As Boolean) If Target.Cells "" And Target.Column = 2 Тогава Cancel = True Call CreateInvoice (Target.Row) End If End Sub

Ето стъпките за вмъкване на този код в задната част на работния лист:

  • Щракнете с десния бутон върху раздела „Подробности“ на работния лист
  • Кликнете върху опцията „Преглед на кода“.
  • Копирайте и поставете горния код в кодовия прозорец, който се показва.

Горният код прави следните неща:

  1. Проверява дали клетката, върху която е щракнато двойно, има данни за клиента или не. Той използва оператора IF, за да провери и изпълни кода само ако клетката не е празна и в колона B.
  2. Ако и двата посочени критерия са изпълнени, той деактивира функционалността с двойно щракване (което трябва да влезе в режим на редактиране) и извиква подпрограмата „CreateInvoice“, която се съхранява в модула. Той също така предава стойността на номера на реда на подпрограмата. Например, ако щракна двукратно върху името на клиента в третия ред, той ще предаде 3 като стойност на подпрограмата CreateInvoice.
  3. След като се изпълни подпрограмата „CreateInvoice“ - която създава PDF файла на фактурата - тя приключва.

Щракнете тук, за да изтеглите файла с шаблон за генератор на фактури.

Запазване на шаблона на фактура като Excel (вместо PDF)

Ако искате да запишете шаблоните на фактури като файлове на Excel, а не като PDF файлове, можете да използвате кода по -долу:

Sub CreateInvoice (RowNum As Integer) Application.ScreenUpdating = False Dim wb Като работна книга Dim sh As Работен лист С 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) Край с FPath = "C: \ Users \ sumit \ Desktop \ Invoice PDFs" Fname = Format (shInvoiceTemplate.Range ("D10"), "mmmm yyyy") _ & "_" & shInvoiceTemplate.Range ("D12") shInvoiceTemplate.Copy ActiveSheet.Name = "InvTemp" Set wb = ActiveWorkbook Set sh = ActiveSheet sh.Name = Fname wb.SaveAs Име на файла: = FPath & "\" & Fname wb. Затворете SaveChanges: = False ThisWorkbook.Activate Application.ScreenUpdating = True End Sub

Горният код записва фактурата като работна книга на Excel със същата конвенция за именуване. Работният лист в работната книга, който съдържа попълнената фактура във всяка запазена работна книга, също се нарича същото.

Може да ви харесат и следните полезни уроци по Excel:

  • Как да конвертирате Excel в PDF с помощта на VBA.
  • Вграждане на PDF в Excel.
  • Извличане на данни от PDF в Excel с този конвертор.
  • Шаблон за калкулатор на график на Excel.
  • Шаблон на Excel за проследяване на напускане.
  • Безплатни шаблони на Excel.

Така ще помогнете за развитието на сайта, сподели с приятелите си

wave wave wave wave wave