Combobox vuota



  • 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.