Una famiglia di software per fogli di calcolo Microsoft con strumenti per l'analisi, la creazione di grafici e la comunicazione dei dati.
Ciao Domenico,
cercherò di farti capire a cosa sono giunto in modo che tu comprenda quanto scritto,
il codice che avevi nel progetto era un po confusionale e questo ti limitava molto dal poter raggiungere il tuo obiettivo quindi ho cercato di utilizzare la "separazione dei concetti" per poter rendere tutto piu semplice e leggibile.
Innanzitutto e' stata creato un Modulo di Classe per gli "Artisti" che comprende le loro proprietà, questo rende più facile utilizzare l'oggetto Artisti e capire cosa si sta cercando di fare all'interno del progetto VBA.
Poi sono giunto alla soluzione cercando di capire cosa volevi raggiungere e questi sono i passaggi che mi sono passati per la mente quando ho riscritto un po quello che avevi fatto:
Quando premo il pulsante cosa voglio che accada?
R: Si apra la form
E finqui ci eri arrivato anche tu
Cosa deve succedere quando si apre la form?
R: Si devono caricare i componenti e impostare le variabili
per rendere tutto questo pulito ho suddiviso le varie funzioni e creato delle variabili globali che serviranno alla userform per funzionare, essendo un contenitore di "Artisti" ho creato la collezione di "Artisti" che essa conterra', pertanto quando apro la form voglio che:
Si impostino le variabili
Si setti la scrollbar
Si popoli la userform con i primi 5 artisti della collezione
Si posizioni la userform
Cosa deve succedere quando si cambia il filtro?
R: La collezione di artisti viene resettata e vengono inseriti solo quelli della categoria selezionata
Si resetta la collezione
Si resetta la scrollbar
Si ripopola la userform con i primi 5 artisti della nuova collezione
Cosa deve succedere quando si clicca sulla scrollbar?
R: Si devono caricare gli artisti successivi nella collezione
Si ripopola la userform con gli artisti a partire dal
valore minimo di 5 * il valore della scrollbar
ad un massimo di 5 * il valore della scrollbar + 5
Ecco lo zip con l'esempio aggiornato
[Link a sito di terze parti rimosso dal Moderatore]
Puoi ben vedere che ora qualsiasi modifica da fare bisogna farla solo nella funzione giusta, quindi tutto viene più semplice, se per esempio alla form vuoi aggiungere le note relativa all'artista dovrai solo andare a modificare la funzione che la popola.
Fammi sapere se non dovessi capire qualcosa sarò felice di aiutarti.
Saluti,
Daniele