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 è: 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:
