Impara Excel a Casa Tua - 100% Online

Benvenuto ad una nuova lezione di MasterExcel.it. In questa lezione vedremo alcuni esempi importanti sull’utilizzo delle macro in VBA sulla Fattura Excel.

Questa è la quarta lezione dedicata al Modello Fattura Excel da me creato. Per andare alle lezioni precedenti: clicca qui 👈 (da cui puoi scaricare il file)

Guarda il Video: Fattura Excel – Il Codice VBA della Macro di Fatturazione

 

Il file che ti mostrerò non sarà composto solamente da codice, ma anche da commenti. Questi ultimi sono scritti in verde e servono a far comprendere meglio la composizione del codice. Ricorda, un buon programmatore inserisce sempre dei buoni commenti nel suo codice, così da semplificare le operazioni di modifica successive. Capita spesso infatti di operare dopo anni su una macro e non ricordarsi esattamente cosa facciano le varie porzioni di codice. Quindi inserisci sempre i commenti!

fattura excel

 

Prima Fattura? Scopriamolo!

La prima cosa da sapere è se questa è la prima fattura emessa o meno. E come si fa a sapere se è la prima fattura del sistema? Semplice, si va nel foglio “Archivio” e si fa il conto di quanti valori numerici sono presenti in colonna A (la colonna contenente i numeri delle fatture emesse in precedenza.

Il numero delle fatture emesse, manco a dirlo, è una variabile, esso cambia di voltata in volta che emettiamo una fattura. E indovina un po’, cosa dobbiamo fare? dobbiamo dichiarare una variabile. Lo so, è la prima volta che dichiari una variabile, ma non è una cosa difficile! Questa variabile la chiameremo “a” e dato che è per forza un numero interno, andremo a dichiararla semplicemente scrivendo:

Dim a As Integer

 

fattura-excel-macro-02

 

“Dim” = si utilizza per dichiarare una variabile

“a” = è il nome dato alla nostra variabile. In questo caso è una semplice lettera, ma può essere chiamata in qualunque modo.

“As Integer” = indica il tipo di variabile. In questo caso numero intero

 

Dichiarare un variabile, non basta, è necessario anche definirla. Nel nostro esempio la variabile “a” è definita come:

Application.WorksheetFunction.Count(Range(“A:A”)) = questo codice indica semplicemente che bisogna utilizzare all’interno di una applicazione (Excel), una funzione Conta Numeri (in inglese Count) nella colonna A (del foglio Archivio selezionato in precedenza).

Procediamo con un altro esempio.

Data di Fatturazione

Un altra cosa molto importante è la data di fatturazione, che varia di data in data, quindi anche essa è una variabile. Ed ecco come la ho definita:

fattura-excel-macro-03

A questa variabile ho dato il nome “del”, potevo chiamarla anche in un altro modo. Questa variabile non è indicata come “Integer” ma come “Date”, questo perché si tratta di una data. Successivamente la definisco come il valore uguale a quello che si trova nella cella C3 del foglio “Fattura”.

 

Data Corrente

Dichiariamo un’altra variabile.

fattura-excel-macro-04

In questo caso ho creato una variabile di nome “DATAodierna”, la cui composizione dovrebbe risultare facilmente comprensibile. Significa semplicemente: “Mostra la data di oggi nel formato giorno, mese, anno”.

Prima Verifica

Vediamo un’applicazione pratica delle ultime variabili che ti ho mostrato all’interno della Macro Fattura Excel.

Occorre sempre mettere delle verifiche, per evitare errori. Ora che abbiamo sia la data odierna, sia la data di fatturazione, possiamo controllare se esse sono uguali. Infatti è possibile che venga inserita una data errata, quindi è bene controllare e chiedere se eventualmente si vuole continuare:

fattura-excel-macro-05

Questa applicazione delle variabili “del” e “DATAodierna” significa semplicemente: “se la data di fatturazione è diversa da quella odierna, esegui quanto segue: seleziona il foglio fattura, e al suo interno seleziona la cella C3 e scrivi un messaggio”. Il messaggio in questione è: ”la data di fatturazione non coincide con quella odierna. Continuare?”. Viene anche mostrata una scelta “si/no“. Se si sceglie “No”, si esce automaticamente dalla Macro.

If MsgBox = mostra un messaggio

vbYesNo = mostra una scelta tra “Si” e “No”

vbNo Then Exit Sub = se si sceglie “No”, si esce dalla Macro.

PRECISAZIONI: una Macro inizia sempre con il comando “Sub” e si chiude sempre con il comando “End Sub”. Ogni If invece inizia con “If” e finisce con “End If“.

Vediamo un’altra applicazione, stavolta più complessa e interessante.

Salvare i dati in Archivio

I dati di fatturazione però devono essere archiviati all’interno del Foglio Archivio. Piccolo problema, tutti i dati nel Foglio Archivio sono inseriti esclusivamente in orizzontale, mentre nella fattura abbiamo molti dati in verticale. I dati di fatturazione del cliente ne sono un esempio:

fattura-excel-macro-06

Forse ti ricordi la funzione trasponi di Excel, la abbiamo vista nel corso Excel base. La Macro che ora ti presento non fa altro che copiare e incollare questi dati in un altro punto del nostro file.

fattura-excel-macro-07

Questa Macro non l’ho creata io, ma l’ho trovata già pronta con una semplice ricerca su Google. Una skill molto importante perché ti permette di non dover reinventare la ruota ogni volta che ti servono piccole funzioni.

Questa macro sarà richiamata all’interno di altre macro per poter archiviare i dati.

La Stampa in PDF

Un’altra Macro degna di nota che puoi osservare nell’immagine sottostante.

fattura-excel-macro-08

 

Anche questa Macro non è stata creata da me. L’ho semplicemente registrata (con il Registratore Macro) e modificata dove ritenevo opportuno. Questa macro va a stampare (/salvare) in PDF (di fatto crea un PDF) le varie fatture, però assegna loro un nome molto particolare, ovvero: “Fattura” [numero fattura] “_del” [data di fatturazione], e salva in automatico il file PDF all’interno della stessa cartella in cui è presente il file del Modello Fattura Excel

Il grosso del lavoro di modifica è stato fatto sul “Filename”. Che non è solo il nome del file ma anche il percorso della cartella in cui si trova.

La stringa “Application.ThisWorkbook.Path” esprime proprio questo.

Path = significa “percorso”

ThisWorkbook = ossia “questa cartella di lavoro”

Application = ossia Excel

Il resto del codice lo analizzo direttamente nei termini che lo compongono.

& = è un elemento della corretta sintassi VBA, ed è preceduto e anteceduto da uno spazio

Application = sempre Excel

PathSeparator = su Windows corrisponde al segno “\”, su MacOS corrisponde al segno “:”

“Fattura n “ = è il testo che la Macro dovrà scrivere

MyMax = è una variabile che ho creato precedentemente, ed indica il numero della fattura

Format (del, “yyyy.mmmm.dd”) = significa che la Macro dovrà prendere la variabile “del”, che abbiamo visto precedentemente in questa lezione, e scriverla in un modo particolare, ossia indicando una data. Per quanto riguarda la dicitura “mmmm” sta ad indicare il mese, scritto in maniera completa ma se preferiamo abbreviarlo a tre lettere è sufficiente scrivere “mmm”

“.pdf”= indica il formato scelto, in questo caso il pdf

“From:=1”=  indica “da pagina 1”

“To:=1”= indica “fino a pagina 1”

 

CONCLUSIONI

Ho indicato quelle che secondo me sono le Macro Fattura Excel più interessanti presenti in questo sistema di fatturazione. Considero di modificarlo in futuro e di aggiungere nuove funzionalità.

Ricorda di lasciare un bel commento qui sotto!