Domanda.

nome=Giuseppe
cognome=Beffa
versione=Excel 2003
conosco2=medio
email=joegb@fastwebnet.it
chra=537
problema=Ho una lista di 2000 numeri di partita iva su foglio excel. Il problema è che a questi numeri hanno tolto gli zeri davanti.Ho bisogno di un controllo/macro che conti le cifre dei numeri e aggiunga gli zeri davanti,uno o due, a seconda che il num.di partita iva abbia 9 o 10 cifre. Le cifre della P.Iva infatti hanno lunghezza max di 11 cifre. E' possibile farlo con excel? Mi sarebbe di grande aiuto per poi interfacciarlo con un database.
Grazie mille. Giuseppe

 

Risposta.

ciao Giuseppe, penso saprai che se il formato celle è impostato a generale o numero, gli zeri davanti non sono ammessi. Bisogna impostare il formato celle a "Testo" oppure scrivere un apice ( ' ) prima degli zeri della partita iva, allora excel considera il numero come testo e li accetta (gli zeri).
Ti invio questa routine che ti legge la lunghezza del valore di ogni cella (io uso la colonna A come esempio, tu metterai la tua colonna), e ti aggiunge l'apice e tanti zeri quanti ne mancano per raggiungere 11 valori

Sub Piva()
For Each Cell In Range("A1:A2000")
lung = Len(Cell.Value)
iva = 11 - lung
If iva > 0 Then
For n = 1 To iva
Cell.Value = "'" & 0 & Cell.Value
Next
End If
Next
End Sub


usa il Copia/Incolla e metti la macro in un modulo, modificando solo i riferimenti all'intervallo di celle.
La routine funziona, l'ho provata,

saluti, ennius