"Top ten new entry" in Listbox

Buonasera alla community,
in una Userform vorrei inserire una Listbox che venga popolata, all'apertura, dagli ultimi 10 record inseriti
nei fogli che fanno parte della cartella di lavoro. Cercherò di spiegarmi meglio:
il mio database è costitutito da una cartella di lavoro che contiene 4 fogli (foglio1, foglio2 ecc.).
Tramite i comandi presenti nella userform inserisco, modifico e cancello record all'interno dei 4 fogli.
Vorrei inserire una Listbox che mi riporti gli ultimi 10 record inseriti a prescindere del foglio in cui siano stati registrati.
La listbox dovrà essere strutturata da 4 colonne e ad ogni nuova registrazione dovrebbe aggiornare l'elenco (così da visualizzare sempre 10 record).
I campi, che sono uguali in tutti e quattro i fogli, dovrebbero riportare i dati presenti nelle colonne B,D,G,M (3 campi in formato testo (B,G,M) e 1 in formato data (D)).
Spero che il tutto sia possibile e confido nel vostro aiuto. Per qualsiasi ulteriore chiarimento sono a vostra disposizione.
Grazie a tutti per l'aiuto!!
 

Informazioni domanda


Ultimo aggiornamento febbraio 27, 2018 Visualizzazioni 142 Si applica a:
Risposta

<cut>

Soluzione differente che puoi scaricare da qui:

Come funziona. La macro mCreaStorico() che trovi nel Modulo1 e che è da lanciare una sola volta, raggruppa tutti i dati dei vari fogli in un foglio chiamato Storico (devi crearlo tu se non c'è), ordinato per data (nell'esempio la data è in colonna D).

Quindi, quando lanci la UserForm (CTRL+a) vengono caricati nella Listbox gli ultimi 10 inserimenti fatti, in base alla data di inserimento (io preferirei un numero progressivo).

Quando andrai ad inserire un nuovo dato in uno dei fogli (i fogli sono selezionabili dalla ComboBox), verranno caricati sia nel foglio prescelto che in coda al foglio Storico e la Listbox si aggiornerà agli ultimi 5 inserimenti.

Non ho corretto tutti le eventuali eccezioni.

Ricapitolando: crei il foglio Storico, lanci la macro mCaricaStorico (solo una volta). Quindi puoi richiamare la UserForm con CTRL+a e inserire i nuovi dati nei fogli.

A mio modesto parere, ritengo che sia più veloce cercare solo i dieci ultimi inserimenti dello Storico rispetto ad una ricerca fatta su n fogli, con in più il vantaggio di avere appunto uno storico che raggruppa tutti i fogli.

--
Mauro Gamberini
Microsoft© MVP (Excel)
http://www.maurogsc.eu

Il problema è stato risolto?

Siamo spiacenti che questo non sia stato d'aiuto.

Fantastico! Grazie per aver scelto questa risposta.

Sei soddisfatto di questa risposta?

Grazie per il tuo commento, ci aiuta a migliorare il sito.

Sei soddisfatto di questa risposta?

Grazie per il tuo commento.