Ho rivisto a spanne il ciclo di inserimento e ho fatto qualche modifica che trovi nel file allegato; le modifiche sono evidenziate con >>>, e riguardano sia le macro che Foglio2.
A grandi linee:
1) sul codice di UserForm2
-ho corretto in CommandButton1_Click() il ciclo For W = 1 To 7 e l' istruzione da aggiungere che avevi implementato male
-ho aggiunto una .ListIndex = 0 per riposizionare i valori dei combobox a fine inserimento
-ho spostato MsgBox "REGISTRAZIONE EFFETTUATA"; ora viene mostrato prima di azzerare la form
-ho tagliato la UserForm_Activate(), spostando molte delle operazioni all' interno della macro Ordinamento
2) Ho spostato dentro Sub numdisp() la compilazione di TextBox8
3) Ho modificato la Sub Ordinamento() per inserire le definizioni dei ComboBoxXX.RowSource
4) Su Foglio2 ho tolto le intestazioni e uso la prima riga vuota come posizione di default degli indici dei combobox
Non ho guardato altre parti del programma.
Ho notato che non ci sono controlli per evitare che si usi una posizione gia' occupata, per cui ci sono numerose posizioni con duplice, o triplice o anche quadrupla posizione; se si vuole evitare cio' puoi commentare le istruzioni che trovi verso l' inizio di CommandButton1_Click() di UserForm2.
Per questa verifica ho usato le colonne L ed M di Foglio1, il cui contenuto comunque puo' ora essere eliminato.
Trovi il file qui:
http://rapidshare.com/files/442241602/R ... -Ant-1.xlsCiao