| | Post: 2 | Registrato il: 02/09/2005
| Città: ACCIANO | Età: 44 | Utente Junior | 2013 | | OFFLINE | |
|
21/08/2014 12:14 | |
Buongiorno a tutti,
avrei bisogno di utilizzare una combobox in un foglio che mostri un elenco di valori presi da una porzione di un altro foglio.
Vorrei utilizzare il controllo ActiveX e non il controllo modulo.
Ho due problemi:
la lista di valori viene "scritta" sul foglio da una routine ed al termine di questa vorrei popolare la combobox, ma dalla routine non riesco ad "accederci". Allora la popolo con l'evento gotfocus della combo stessa. In pratica, appena ci si passa sopra il mouse, parte una routine che inserisce tutti i valori. E qui scatta il secondo problema: appena clicco sulla freccia della combo, scende la tendina, ma i valori non sono elencati, sono tutti nella prima riga (vedo solo il primo) e possono scorrerli con una mini barra di scorrimento che viene visualizzata. Tutto questo, solo al primo click sulla freccia della combo. Dal secondo click, la combo si comporta come voglio, ossia scende la tendina con tutti i valori. Credo sia una questione di settaggio di qualche proprietà, ma le ho modificate tutte ma non sono venuto a capo di nulla al momento. Grazie |
|
| | Post: 2.573 | Registrato il: 13/03/2012
| Città: LIVORNO | Età: 78 | Utente Veteran | 2010 | | OFFLINE | |
|
21/08/2014 13:29 | |
non faresti meglio ad allegare il tuo file ?
----------
Win 10 - Excel 2010
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta |
| | Post: 2 | Registrato il: 02/09/2005
| Città: ACCIANO | Età: 44 | Utente Junior | 2013 | | OFFLINE | |
|
21/08/2014 20:16 | |
patel45, 21/08/2014 13:29:
non faresti meglio ad allegare il tuo file ?
Hai ragione. In allegato l'esempio.
Cliccando sulla freccia della combo, la tendina scende ma è compressa, ossia visualizza tutti non elencandoli. Selezionando il valore e cliccando nuovamente sulla freccia, questa volta la tendina scende popolata correttamente.
Chiedo scusa ma non riesco ad allegare il file direttamente quindi l'ho postato qui:
ESEMPIO.ZIP
Grazie [Modificato da plutos999 21/08/2014 20:24] |
| | Post: 479 | Registrato il: 24/04/2004
| Città: TERAMO | Età: 63 | Utente Senior | 2010 | | OFFLINE |
|
21/08/2014 20:59 | |
Ciao.
Ti basta sostituire all'evento GotFocus l'evento DropButtonClick:
Private Sub ComboBox1_DropButtonClick()
Dim I As Integer
ComboBox1.Clear
I = 5
Do While Sheets("Backup").Cells(I, 23) <> ""
ComboBox1.AddItem Sheets("Backup").Cells(I, 23)
I = I + 1
Loop
End Sub
che può essere semplificata così:
Private Sub ComboBox1_DropButtonClick()
ComboBox1.List = Sheets("Backup").Cells(5, 23).CurrentRegion.Value
End Sub
[Modificato da Zer0kelvin 21/08/2014 21:06] __________________________
[Excel 2010]
-Condividere la conoscenza aumenta la ricchezza di tutti.
-Dai ad un uomo un pesce e lo avrai sfamato per un giorno; insegnagli a pescare e lo avrai sfamato per sempre. (Confucio)
-Il sonno della ragione genera mostri. (Francisco Goya) |
| | Post: 3 | Registrato il: 02/09/2005
| Città: ACCIANO | Età: 44 | Utente Junior | 2013 | | OFFLINE | |
|
21/08/2014 21:22 | |
Zer0kelvin, 21/08/2014 20:59:
Ciao.
Ti basta sostituire all'evento GotFocus l'evento DropButtonClick:
Private Sub ComboBox1_DropButtonClick()
Dim I As Integer
ComboBox1.Clear
I = 5
Do While Sheets("Backup").Cells(I, 23) <> ""
ComboBox1.AddItem Sheets("Backup").Cells(I, 23)
I = I + 1
Loop
End Sub
che può essere semplificata così:
Private Sub ComboBox1_DropButtonClick()
ComboBox1.List = Sheets("Backup").Cells(5, 23).CurrentRegion.Value
End Sub
Grazie 1000, funzionano entrambe le soluzioni. Ho notato solo due cosucce.
Con la prima soluzione, l'evento selezionato dalla tendina non rimane visualizzato nel controllo.
Con la seconda soluzione, il valore viene mostrato, però quando viene fatto un click in un altro punto del foglio, il valore nel controllo cambia per una frazione di secondo per poi tornare al valore selezionato.
Comunque ottimo, grazie....
|
| | Post: 4 | Registrato il: 02/09/2005
| Città: ACCIANO | Età: 44 | Utente Junior | 2013 | | OFFLINE | |
|
21/08/2014 21:36 | |
plutos999, 21/08/2014 21:22:
Grazie 1000, funzionano entrambe le soluzioni. Ho notato solo due cosucce.
Con la prima soluzione, l'evento selezionato dalla tendina non rimane visualizzato nel controllo.
Con la seconda soluzione, il valore viene mostrato, però quando viene fatto un click in un altro punto del foglio, il valore nel controllo cambia per una frazione di secondo per poi tornare al valore selezionato.
Comunque ottimo, grazie....
Per la soluzione 2 ho risolto spostando il focus su una cella del foglio. Quindi questa è quella che fa al caso mio.
Per il "primo" ho invece capito dove sta l'inghippo... Grazie!!!!
|
|
|