Elenco in convalida dati
Hai un problema con Excel? 
Elenco in convalida dati
di Andrea (utente non iscritto) data: 01/03/2013 15:32:21
Ciao a tutti. Innanzitutto vorrei ancora ringraziare per l'aiuto e fare i complimenti al forum perchè è davvero utile.
Ora vengo subito al quesito:
Da un foglio "Fattura", uso la Convalida dati --> Elenco, per cercare il nome cliente da un foglio di lavoro "Anagrafica".
E' possibile aggiungere a questa opzione codice VBA o altro, per fare in modo che possa digitare all'interno della casella elenco e mentre digito sia abilitato il completamento automatico? Essendo l'anagrafica piuttosto grande, risparmierei diverso tempo per scorrere ogni volta i vari clienti nella casella di ricerca.
Vorrei evitare, se non assolutamente necessario, di inserire una casella combinata, per cui ho già visto diversi post in rete. Chiedo troppo da Excel?
Alcuni dati pratici del quesito sopra esposto.
Foglio di lavoro "Anagrafica": i nomi da cercare sono contenuti nelle celle da A3 ad A100, che ho chiamato "ElencoAnagrafica"
Foglio di lavoro "Fattura": in B14 ho un'elenco che ho creato da Dati..->Convalida...>Consenti: "Elenco" con Origine: =ElencoAnagrafica
Grazie di nuovo a tutti anticipatamente
di Vecchio Frac (utente non iscritto) data: 01/03/2013 19:01:54
La convalida dei dati non dispone di una funzionalità di completamento automatico, appena si inizia a digitare.
Si deve ricorrere a una strada diversa.
Una soluzione percorribile (se non si usa uno userform) è aggiungere una casella combinata al foglio di lavoro della barra menu Moduli, e scrivere qualche riga di codice per farlo apparire nelle celle che contengono un elenco di convalida dei dati. Facendo doppio clic su una cella che contiene un elenco di convalida dei dati, la casella combinata appare, con il suo utile completamento automatico.
Allego un semplice esempio che ho scovato in Rete e nel quale ti ho tradotto le istruzioni in italiano :)
di Textomb data: 02/03/2013 09:33:41
Bella questa.
casella combinata nella cella facendo doppio clic senza aprire una userform... Ottimo!
grazie mille.
di Vecchio Frac data: 02/03/2013 12:46:23
La cella con convalida dati normale rimane però sempre attiva e disponibile, con le sue note limitazioni.
Questo workaround permette una soluzione efficace anche se non è immediata (bisogna ricordarsi di fare doppio click sula cella che già ha la sua freccia drop down verso il basso, e può sembrare strano all'utente normale).
di Textomb data: 02/03/2013 13:05:22
ho studiato un pò come viene gestita la questione ma a naso mi pare un pò complicata per le mie deboli conoscenze.
Cioè, insomma, non mi pare affatto banale...
di Vecchio Frac data: 02/03/2013 14:25:38
Diciamo che la difficoltà di comprensione e reimplementazione per questa tecnica è a livello intermedio.
Bisogna chiedersi se ne vale la pena in relazione sia alle esigenze dei destinatari, sia all'economia del programma nel suo complesso.
di Andrea (utente non iscritto) data: 02/03/2013 19:11:55
Ho provato a studiare il file che mi hai inviato. Purtroppo non capisco bene il codice. Inoltre mi da errore in questa stringa: Set cboTemp = ws.OLEObjects("TempCombo") Credo sia un po' troppo per le mie conoscenze
di Vecchio Frac data: 02/03/2013 19:24:29
Che tipo di errore?
Cosa ti salta fuori?
Appena ho un attimo vedo di commentare il codice e allegarlo.
di Andrea (utente non iscritto) data: 02/03/2013 19:29:36
Non riesco a collegare il combo box all'anagrafica.
di Vecchio Frac data: 02/03/2013 20:50:09
Dovrebbe essere il codice a fare questo... nell'evento BeforeDoubleClick c'è l'assegnazione al combobox della lista di cui è composta la convalida dei dati della cella doppiocliccata... come hai ricostruito dall'esempio il tuo file?
di Andrea (utente non iscritto) data: 02/03/2013 21:04:31
Appunto. Non so come si fa. Scusate ma sia la combo che il codice sono incomprensibili. Ci rinuncio.
di Vecchio Frac data: 02/03/2013 21:12:24
Io non rinuncerei... piuttosto pensa ad altra parte del progetto mentre attendi la spiegazione che ti ho promesso, che magari non arriva stasera ma appena ho un attimo ^_^
Il codice comunque non è incomprensibile, tecnicamente forse non è molto immediato ma funziona bene.
Hai inserito nel tuo file un combobox nascosto? l'hai chiamato tempcombo come vuole il codice?
hai voglia/possibilità di allegare il tuo file, magari senza dati privati?
di andrea (utente non iscritto) data: 03/03/2013 15:14:34
Ciao e grazie, ho provato a mente fresca e sono riuscito a inserire il combo tempcombo nascosto e il codice.
Non mi da errre quindi già siamo nella strada giusta. L'unica cosa è che mi cerca i record sbagliati. Nel combo box vorrei poter inserire i nomi dei clienti mentre lui mi cerca la P.IVA
Non riesco a capire, nel codice, in che modo il tempcombo va a cercare i dati. Non vedo, o almeno non riesco a vedere, alcun collegamento ai dati di ricerca per poterne eventualmente modificare la sorgente.
di andrea (utente non iscritto) data: 03/03/2013 15:32:03
Ho allegato un file di esempio. La ricerca con completamento automatico dovrebbe essere nel nome dell'intestatario della fattura che deve andare a cercare i dati nell'anagrafica "Clienti". Se magari mi potresti spiegare come fai a dire al combobox dove deve andare a cercare i dati perchè non ci arrivo ancora....
Mille grazie
Vuoi Approfondire?