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
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
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
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
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
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
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

Re: [EXCEL] Generazione codice progressivo

Postdi dott.f » 24/06/22 10:58

Ciao, dovrei fare una cosa simile ma non mi fa scaricare la macro.
dott.f
Newbie
 
Post: 1
Iscritto il: 24/06/22 10:55

Re: [EXCEL] Generazione codice progressivo

Postdi Anthony47 » 24/06/22 16:08

Intanto “Benvenuto nel forum”
Eh, stai cercando un file caricato 10 anni fa, è abbastanza normale che non lo trovi...

Ho scritto a chi lo aveva pubblicato, chissà che non mantenga un archivio storico dei suoi contributi; ma temo che sia difficile. Quindi (in attesa che Flash ci dica qualcosa) ti suggerirei di spiegare che cosa stai facendo, come hai organizzato i tuoi dati e in particolare su quale aspetto ti farebbe comodo qualche suggerimento

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19440
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: [EXCEL] Generazione codice progressivo

Postdi Flash30005 » 25/06/22 00:54

Benvenuto dott.f

Conservo ancora il file e macro che realizzai per Giova72 (al quale auguro buon onomastico)
ma nel file c'è solo la macro riportata il 31/12/2010
Infatti se copi la macro e la inserisci in un modulo
fa la funzione che Giova72 cercava (l'ho testata 5 minuti fa e funziona)
eventualmente mancherebbe solo un comando (pulsante o opzione con tasto di scelta rapida)
Non so quale uso ne abbia fatto Giova72 perché, se vogliamo, è una richiesta "non standard"
e mi sembra strano che questa macro possa essere utile ad altri utenti.

Sarebbe meglio seguire il consiglio di Anthony e di spiegare la tua esigenza.

Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-


Torna a Applicazioni Office Windows


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


Chi c’è in linea

Visitano il forum: Nessuno e 38 ospiti