inserimento valori con macro
Hai un problema con Excel? 
inserimento valori con macro
di Antony (utente non iscritto) data: 29/11/2013 23:31:54
Ciao a tutti, vi seguo da tempo e grazie a voi ho sempre risolto tantissimi dilemmi. Oggi però ho un piccolo problema ho un file excel dove ci sono tantissimi codici a barre, solo che alcuni non sono costituiti da 13 numeri ma da 12 o 11 o altro. Come si può indicare con una macro di aggiungere degli zeri a sinistra del numero, fin quanto i numeri nella cella non raggiungono i 13 numeri. Spero di essere stato chiaro. Attenzione alcune volte i valori all'interno delle celle sono costituite anche da lettere.
es. io ho tali numeri
0001543278324 (sono 13 numeri)
001543278324 (sono 12 numeri)
13425263Y36 (sono 11 Valori)
io vorrei questo:
0001543278324 (sono 13 numeri)
0001543278324 (sono 13 numeri)
0013425263Y36 (sono 13 Valori)
Grazie ancora per l'aiuto.
di gaetanopr data: 29/11/2013 23:37:53
Ciao prova questa formula
=SE(LUNGHEZZA(A1)=13;A1;RIPETI(0;13-LUNGHEZZA(A1))&A1)
di Antony (utente non iscritto) data: 29/11/2013 23:47:46
Ciao Funziona benissimo. Ti posso chiedere un favore... siccome ci sono tantissime righe (circa 330000) non ci sarebbe una macro?
Grazie comunque, sei stato velocissimo
di gaetanopr data: 30/11/2013 01:07:07
Ciao, prova questa
Sub lunghezza()
Set Rng = Range("A1:A330000")
For Each C In Rng
If C.Value <> "" Then
C.NumberFormat = "@"
C.Value = Evaluate("IF(LEN(" & C.Address & ")= 13," & C.Address & ",REPT(0,13-LEN(" & C.Address & "))&" & C.Address & ")")
End If
Next C
End Sub |
di Mister_x (utente non iscritto) data: 30/11/2013 01:09:47
ciao
ammettendo i tuoi dati in colonna A:A
se non e' la A cambia la colonna
questa ti sostituisce il valore della cella aggiungendo degli zeri
ciao Mister_X
Sub aggiungi0()
Dim A_A As Range
Set A_A = Range("A1:A" & Cells(Rows.Count, "A").End(xlUp).Row)
Dim cella As Variant
For Each cella In A_A
With cella
.NumberFormat = "@"
End With
If Len(cella) < 13 And cella <> "" Then
Cells(cella.Row, "A") = Application.Rept("0", 13 - Len(cella)) & cella
End If
Next
Set A_A = Nothing
End Sub |
Vuoi Approfondire?