Caselle combinate che adattano il loro contenuto


Un gentile lettore mi pone il seguente quesito:
ho una combobox di provincie (Cella A1) che punta ad una colonna di un altro foglio. Dalla combo vorrei selezionare Milano e nella cella B1 sempre con una combo, visualizzare tutti i miei clienti di Milano (solo quelli!) come posso fare?


In estrema sintesi si vogliono due ComboBox (caselle combinate) dove la seconda contiene i nomi dei clienti presenti nella provincia indicata da una prima combobox. Al variare della prima combobox, l'elenco della seconda si deve adattare di conseguenza.


La cosa è di semplice realizzazione. Per prima cosa è necessario avere il database che associa ad ogni cliente la provincia come ad esempio il seguente:




Ora è necessario generare le due liste che servirranno per riempire le due combobox. laprima sarà un elenco statico delle provincie, la seconda sarà una lista dinamica che si aggiorna automaticamente utilizzando l'informazione estratta dalla prima lista. La generazione automatica della seconda lista si ottiene utilizzando la funzione NLookup presentata su questo sito:




La parte gialla indica l'anagrafica usata nella prima combobox mentre la colonna J calcola attraverso la NLookup i vari elementi (fino a 13 ma la colonna è facilissimanete espandibile). Come vedete la NLookup è parametrata in funzione della cella E2 che contiene il risultato della scelta dell'utente attraverso la prima combobox.

La colonna K attraverso una semplice formula sostituisce ai messaggi di errore uno spazio bianco in modo da rendere più piacevole alla vista la combobox che prenderà a questo punto dalla colonna K e non dalla J.

La cella E1 contiene il valore numerico di uscita della combobox e la cella E2 attraverso la funzione INDICE ritrasforma il valore numerico nella scelta dell'utente. Per maggior informazioni si veda la pagina dedicata alla combobox.
lla cella F2 contiene a qesto punto la scelta della seconda Combobox e la cella F2 ritrasforma il valore nella scelta dell'utente.
A questo punto la seconda combobox è dinamica nella lista di scelte che presenta rispetto alla scelta della prima.

Ora con una semplie formula è possibile recuperare il valore del DB dopo aver scelto prima la provincia e poi all'interno dell'elenco dei soli clienti di quella provincia:



La funzione utilizzata per recuperare il valore è spiegata in questa pagina dedicata ai SOMMA.SE con multiple condizioni.
 


Scarica il file :