Logo Einstein grigio sfumato
e = m x c al quadrato

Calcolo Codice Fiscale con Excel

Il calcolo del codice fiscale con Microsoft Excel si può ottenere mediante l'utilizzo di un semplice modello di esempio e di una macro excel in codice VBA.







Per il modello ci bastano 2 colonne e 10 righe di un foglio di calcolo vuoto di Excel. I dati di partenza per calcolare il codice fiscale sono il cognome e il nome della persona, la data di nascita, il sesso e il codice catastale del Comune di nascita.

Lo schema di qualsiasi codice fiscale è composto da 16 caratteri, cifre arabe o lettere maiuscole dell'alfabeto italiano:

CGN-NME-AA-M-GG-CODC-X

Le prime 3 lettere rappresentano le consonanti del cognome, le seconde 3 lettere le consonanti del nome, le posizioni 7 e 8 le ultime 2 cifre dell'anno di nascita, la posizione 9 è una lettera che sta per il mese di nascita, le posizioni 10 e 11 il giorno di nascita per gli uomini o il giorno di nascita + 40 per le donne.

Se un cognome o un nome hanno meno di 3 consonanti, allora si aggiungono le vocali, sempre secondo l'ordine con il quale si presentano, se anche con le vocali non si raggiunge il numero di 3, allora si aggiunge una X per ogni carattere mancante, fino a raggiungere i 3 caratteri.

Le posizioni 12-13-14-15 sono riservate al codice catastale del comune di nascita, mentre la posizione 16 è riservata ad un carattere di controllo, determinato sulla base di un algoritmo che tiene conto dei 15 caratteri precedenti.

Il codice catastale è un codice di 4 cifre, ad esempio per ROMA è H501, per MILANO è F205, ecc.

Il codice catastale identifica a livello territoriale il comune di nascita della persona di cui si sta calcolando il codice fiscale.

Per conoscere il codice catastale basta utilizzare quel formidabile strumento gratuito che è WIKIPEDIA, alla pagina:

http://it.wikipedia.org/wiki/Pagina_principale

Nella casella di ricerca inserire le seguenti parole chiave: 'Comuni Regione Lombardia', oppure 'Comuni Provincia di Milano'.

Nel nostro esempio, Mario Rossi è nato a COLOGNO MONZESE, in provincia di Milano, quindi il relativo codice catastale è C895, come si ricava dalla pagina di Wikipedia.it dedicata a Cologno Monzese (figura 1).

A questo punto non ci resta che riportare i dati di partenza o di input su Excel, a cominciare dal Cognome, poi dal Nome, quindi la data di nascita, espressa nel formato: GG/MM/AAAA e il codice catastale del comune di nascita, per esempio seguendo il modello mostrato nella figura 2.

Per realizzare il pulsante di comando 'Calcola' basta abilitare nel menù 'Visualizza' di Excel, l'elemento 'Moduli' nel sottomenù 'Barre degli Strumenti', quindi selezionare l'icona del pulsante di comando dalla barra degli strumenti Moduli e infine posizionarla nella cella B11 aggiustando le dimensioni della cella.

Ora costruiremo una macro di excel per calcolare automaticamente il codice fiscale in B9 tutte le volte che l'utente farà clic sul pulsante 'Calcola'.

Per generare una macro vuota, basta attivare come al solito il registratore Macro, facendo clic sul menù Strumenti, quindi su Macro, Registra Nuova Macro.

Avviare ed interrompere subito dopo il registratore Macro, se si vuole si può anche assegnare una lettera per il richiamo da tastiera della macro in associazione con il tasto CTRL.

Nella cartella di lavoro corrente, o in PERSONAL.XLS, vi troverete ad esempio il codice seguente: (per vederlo basta fare ALT + F11 per aprire la finestra del VBA)

Sub Macro13()
'
' Macro13 Macro
' Macro registrata il 11/06/2007 da Maurizio

'
End Sub

Sempre in ambiente VBA, aggiungiamo nello stesso modulo di codice in cui si trova la Macro, la routine seguente:

Sub CalcolaCodiceFiscale(ctrCognome As String, ctrNome As String, ctrDataNascita As String, ctrComune As String, ctrSesso As Integer, ctrCodiceFiscale As String)

End Sub

Quando avremo completato il codice della SubRoutine CalcolaCodiceFiscale(), non ci resterà che richiamarla con l'istruzione CALL dall'interno di Macro13 e quindi scrivere nella cella B9 il valore della variabile CodiceFiscale, dopo che la routine è stata eseguita.

Sub Macro13()
'
' Macro13 Macro
' Macro registrata il 11/06/2007 da Maurizio

Call CalcolaCodiceFiscale(Cells(3, 2), Cells(4, 2), Cells(5, 2), Cells(8, 2), Cells(6, 2), CodiceFiscale)

Cells(9, 2) = CodiceFiscale


'
End Sub


Il codice completo della macro di excel per il calcolo del codice fiscale lo troverete in fondo a questo tutorial.

La routine di fatto compie 6 operazioni:

1. Cicla un carattere (o byte) alla volta il COGNOME alla ricerca delle prime 3 consonanti, quindi se il risultato è inferiore a 3, cerca le vocali, poi ancora aggiunge X come già anticipato sopra.

2. Stessa cosa per il NOME.

3. Verifica se la variabile ctrSesso vale '0' (= Maschio) oppure '1' (= Femmina) e di conseguenza calcola il valore da attribuire a strgiornosex. Ad esempio se un uomo è nato il giorno 19, strgiornosex varrà 19, se una donna è nata il giorno 19, strgiornosex varrà 59 (19 + 40).

4. Calcola le prime 15 posizioni del codice fiscale, sommando le 3 cifre del cognome, poi le 3 del nome, quindi le 2 cifre di destra dell'anno, il codice lettera del mese, il giorno (+ 40 per le donne) e infine aggiunge in coda i 4 caratteri del codice catastale del Comune di nascita.

A titolo di esempio, per Mario Rossi, nato il 27/09/1973 a Cologno Monzese (MI), le prime 15 posizioni valgono:

RSS-MRA-73-P-27-C895

5. A questo punto viene calcolato il 16esimo carattere in base al resto della divisione di 2 somme per il numero delle lettere dell'alfabeto inglese (26): i dettagli sono nel codice.

Il carattere di controllo generato dall'algoritmo &egrave: N

di conseguenza il CODICE FISCALE del nostro ROSSI MARIO è :

RSSMRA73P27C895N

(vedi figura 3)

Per scaricare il codice VBA relativo a questo tutorial segui le istruzioni contenute nel riquadro seguente:


Avvertenza !

Il file dell'esempio codice-codice-fiscale-con-excel.txt contenente il codice VBA completo è disponibile nell'area 'Tutorial Download' riservata agli iscritti alle nostre newsletters.

Si tratta di un file di testo, dal quale è possibile fare un 'Copia e Incolla' delle singole Routines, da posizionare sul vostro Modulo VBA.

Vi consigliamo di utilizzare l'utilità 'Blocco note' di Windows e di assicurarvi che l'opzione 'A capo automatico' (menù Strumenti) sia disattivata, prima di incollare il codice!

Iscriviti ora alla newsletter 'Comprendere il PC',  è gratis! Puoi utilizzare il riquadro qui a lato sulla sinistra della pagina in alto oppure seguire direttamente questo collegamento:

http://www.mc2elearning.com/html/comprendere_il_pc.html

(il link per il download è sulla mail di conferma iscrizione, dopo la convalida dell'indirizzo e-mail con il quale vi siete iscritti alla newsletter)






I Tutorial di Microsoft Excel


Home page MC2 E-Learning



Dr.Maurizio Cucchiara
autore del corso:
"Corso Base di Microsoft Access"
disponibile on line su questo sito
MC2 E-Learning S.a r.l.
Formazione per il Web
http://www.mc2.it/html/access.html


Cerca sul web con Google:


Ricerca personalizzata