Combobox vuota
Hai un problema con Excel? 
Combobox vuota
di Pietro (utente non iscritto) data: 13/12/2013 20:50:03
Buonasera, mi succede una cosa molto strana, ho creato una combobox che va a prendere i dati all'interno della cartella di lavoro da un foglio che ho denominato Dati.
La cosa strana è che quando seleziono la combobox mi si apre interamente con l'elenco ma è completamente vuota.
Cosa sbaglio?
Grazie mille
di gaetanopr data: 13/12/2013 20:51:48
per risponderti dovresti allegare il file
Combobox vuota
di Pietro (utente non iscritto) data: 13/12/2013 21:36:01
inserito file
di patel data: 13/12/2013 22:13:19
perché per popolare la combobox1 hai utilizzato additem e per popolare combocolore utilizzi rowsource ?
rowsource lo puoi usare prima di visualizzare la userform e non dopo.
di gaetanopr data: 13/12/2013 22:31:01
Non so se è quello che volevi ottenere ti allego il file Ordini2
Combobox vuota
di Pietro (utente non iscritto) data: 13/12/2013 22:37:15
non ho capito, puoi aggiornarmi il file allegato così capisco meglio? Grazie mille
Combobox vuota
di Pietro (utente non iscritto) data: 13/12/2013 22:38:49
perfetto, proprio così, grazie mille
di patel data: 14/12/2013 07:19:38
Gaetano, mi spieghi cosa c'era che non funzionava, non vedo modifiche sostanziali nella tua macro.
di gaetanopr data: 14/12/2013 09:52:41
cit>>"Gaetano, mi spieghi cosa c'era che non funzionava, non vedo modifiche sostanziali nella tua macro."
In buona sostanza la macro utilizzava il metodo Find per trovare il numero di colonna che già si conosce quindi non aveva senso, ma l'errore per cui Rowsource non funzionava era un altro, facevo riferimento al foglio attivo cioè "Ordini" e non a "Dati"
FormArt.cmbColore.RowSource = Range(Dati.Cells(2, ColoreC), Dati.Cells(ColoreFR, ColoreC)).Address
la proprietà Address ti restituisce una stringa con l'indirizzo di riga e colonna in questa modo $A$2:$A$30 senza indicazione del foglio, quindi bisognava attivare precedentemente il foglio da dove prelevare i dati quindi
Dati.Activate
FormArt.cmbColore.RowSource = Range(Dati.Cells(2, ColoreC), Dati.Cells(ColoreFR, ColoreC)).Address
oppure passare direttamente una stringa come indirizzo completo di nome di foglio
FormArt.cmbColore.RowSource = "Dati!A2:A" & ColoreFR
di gaetanopr data: 14/12/2013 10:03:25
oppure senza preventivamente attivare il foglio, anche in questo modo
FormArt.cmbColore.RowSource = "Dati!" & Range(Dati.Cells(2, ColoreC), Dati.Cells(ColoreFR, ColoreC)).Address
di gaetanopr data: 14/12/2013 10:03:56
Rimetto risolto
di patel data: 14/12/2013 10:09:53
Ho capito, sono stato stratto in inganno da
FormArt.cmbColore.RowSource = Range(Dati.Cells(2, ColoreC), Dati.Cells(ColoreFR, ColoreC)).Address
in cui di fa riferimento a Dati, ma il risultato di address non è coprensivo del riferimento al foglio, quindi prende soltanto quello attivo.
Comunque questa è una ulteriore dimostrazione che l'utente medio non cerca di capire gli errori, gli basta funzioni.
Vuoi Approfondire?