Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

[EXCEL] Generazione codice progressivo

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

[EXCEL] Generazione codice progressivo

Postdi Giova72 » 28/12/10 17:10

Ciao a tutti.
Ho un pò di difficoltà nel creare il seguente progetto.
Devo assegnare un codice progressivo a delle prove.
Le tipologie di prove sono 11 a cui ho assegnato dei codici standard tipo:
Prova tipo 1 : AA
Prova tipo 2 : AB
Prova tipo 3 : AC
ect..

Il codice creato dovrebbe essere così composto:
101228AA01
ovvero
10: anno
12 : mese
28: giorno
AA: tipo prova
01: numero progressivo legato al tipo di prova e all'anno corrente

Dovrei quindi creare un pulsante che mi genera il codice progressivo inserendo automaticamente i dati relativi alla data e proponendomi la scelta del tipo di prova.
Il numero generato dovrebbe poi essere copiato in un altro foglio che serve da archivio in modo tale che ad ogni successiva generazione venga generata una nuova riga.

Per la creazione del codice pensavo di usare la funzione concatena, però per quanto riguarda l'automatizzazione del tutto sono proprio in alto mare.

Ringrazio anticipatamente tutti i consigli
Giova72
Newbie
 
Post: 4
Iscritto il: 28/12/10 16:55

Sponsor
 

Re: [EXCEL] Generazione codice progressivo

Postdi Flash30005 » 29/12/10 13:34

Ciao Giova72 e benvenuto nel Forum

Non è molto chiaro cosa farà attivare un nuovo codice e se la sequenza sarà sempre con la sequenza delle lettere da te indicate oppure si possono verificare due test consecutivi di tipo AA

Nel primo caso potrebbe andare bene questa macro
Codice: Seleziona tutto
Sub Numera()
Dim VTipo(11) As String

VTipo(1) = "AA"
VTipo(2) = "AB"
VTipo(3) = "AC"
VTipo(4) = "AD"
VTipo(5) = "AE"
VTipo(6) = "AF"
VTipo(7) = "AG"
VTipo(8) = "AH"
VTipo(9) = "AI"
VTipo(10) = "AJ"
VTipo(11) = "AK"
Conta = 1
URD = Range("A" & Rows.Count).End(xlUp).Row + 1
If URD < 2 Then URD = 2
NV = (URD - 1) Mod 11
If NV = 0 Then NV = 11
For CV = 2 To URD - 1
If Mid(Range("A" & CV).Text, 7, 2) = VTipo(NV) Then Conta = Conta + 1
Next CV
Cells(Rows.Count, 1).End(xlUp).Offset(1, 0) = Mid(Year(Now()), 3, 2) & Mid(Now(), 4, 2) & Mid(Now(), 1, 2) & VTipo(NV) & Format(Conta, "00")

End Sub


Nella prima riga della colonna A ho inserito una testata tipo Numerotest
dalla seconda riga in poi avrai una numerazione sequenziale come da te descritta o almeno spero

fai sapere
ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: [EXCEL] Generazione codice progressivo

Postdi Giova72 » 29/12/10 14:15

Grazie Flash!
è già un notevole passo avanti.
Il risultato con la tua macro è questo:
101229AA01
101229AB01
101229AC01
101230AD01 (ho cambiato data)

In realtà io avrei bisogno di un "message box" che mi chiede il tipo di prova (AA, AB o AC ect..) ad ogni loop.
Quindi se devo fare una prova AB il mio codice deve essere:
101229AB01
Se poi devo fare una prova AD il codice successivo sarà:
101229AD02
e così via. (le lettere devo assegnarle io manualmente mentre i numeri dopo le lettere sono il progressivo)

Il top sarebbe se ad ogni nuovo giorno il progressivo riparte da 01, perchè altrimenti devo aggiungere un decimale al progressivo per non avere il limite di 99 test per tipo di prova.

Grazie ancora!
Giova72
Newbie
 
Post: 4
Iscritto il: 28/12/10 16:55

Re: [EXCEL] Generazione codice progressivo

Postdi Flash30005 » 29/12/10 16:37

Invio il file in quanto ho inserito una UserForm
e se non hai ancora pratica avresti avuto difficoltà a realizzare la macro

download

Ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: [EXCEL] Generazione codice progressivo

Postdi Giova72 » 29/12/10 17:24

Grazie Flash,
diciamo pure che non ce l'avrei mai fatta!!!

Solo due cose rimangono da sistemare adesso:
il contatore (ultimi due numeri) si ferma a 02 e poi ripete il codice.
Se alterno due tipi di prova, la numerazione riparte da sempre da 01 e così ho due codici identici.

101229JA01
101229JA02
101229JA02
101229XA01
101229XA02
101229XA02
101229JA01
101229XA01
Giova72
Newbie
 
Post: 4
Iscritto il: 28/12/10 16:55

Re: [EXCEL] Generazione codice progressivo

Postdi Flash30005 » 31/12/10 02:00

Si è vero qunato dici
Prova a sostituire la macro nel modulo con questo codice

Codice: Seleziona tutto
Sub Numera2()
UserForm1.Show
Conta = 1
URD = Range("A" & Rows.Count).End(xlUp).Row
If URD < 2 Then URD = 2
NumP = Mid(Year(Now()), 3, 2) & Mid(Now(), 4, 2) & Mid(Now(), 1, 2) & NTest
For RR = 2 To URD
If Mid(Range("A" & RR).Text, 1, 8) = NumP Then Conta = Conta + 1
Next RR
Cells(Rows.Count, 1).End(xlUp).Offset(1, 0) = Mid(Year(Now()), 3, 2) & Mid(Now(), 4, 2) & Mid(Now(), 1, 2) & NTest & Format(Conta, "00")
End Sub


Fai sapere
Ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: [EXCEL] Generazione codice progressivo

Postdi Giova72 » 02/01/11 18:21

Adesso è perfetto!
Ti ringrazio molto per il supporto.
Giova72
Newbie
 
Post: 4
Iscritto il: 28/12/10 16:55


Torna a Applicazioni Office Windows


Topic correlati a "[EXCEL] Generazione codice progressivo":


Chi c’è in linea

Visitano il forum: Nessuno e 11 ospiti