Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

inserire lista combobox all'apertura di un userform

Ultimo Aggiornamento: 06/12/2016 16:52
Post: 89
Registrato il: 09/04/2015
Età: 45
Utente Junior
2013
OFFLINE
01/12/2016 17:00

Ciao,

ho un form con circa 10 combobox, che si attiva con un commandbutton.

ho impostato il seguente codice:
' CREO ELENCO comboSPDZ
Columns("N:N").Select
sh.Range(Cells(3, 14), Cells(iRR - 1, 14)).AdvancedFilter Action:=xlFilterCopy, CopyToRange:=sh1.Range("Z1"), Unique:=True
sh1.Activate
iRR1 = 2
vTemp1 = Worksheets("RICERCA").Cells(iRR1, 26).Value
Do While Not IsEmpty(vTemp1)
iRR1 = iRR1 + 1
vTemp1 = Worksheets("RICERCA").Cells(iRR1, 26).Value
Loop
UltimaRiga = iRR1
For x = 2 To iRR1 - 1 Step 1
Cells(x, 26).Interior.ColorIndex = False
Ricerca.comboSPDZ.AddItem Cells(x, 26).Value
Next

in pratica mi filtra una colonna e mi estrare dei valori univoci, che dovrebbero andare a compilare l'elenco della combobox.

Il mio problema è che non so dove inserire questo codice, spiego meglio:
se lo inserisco nella form Ricerca con CERCA_click, nel momento che clikko sulla combo per scorrere la lista questa è vuota
quindi ho provato ad inserirlo
nell'evento click della combo, quando clikko sulla freccia per visualizzare la lista dovrebbe riempirsi (almeno questa era la mia idea) ma non si riempie neanche così....

L'ideale sarebbe che al momento dell'apertura del Form Ricerca con il commandbutton CERCA in automatico la lista della combobox sia già compilata

E' fattibile?

Grazie mille
[Modificato da shadi1978 02/12/2016 09:42]
Post: 3.503
Registrato il: 13/03/2012
Città: LIVORNO
Età: 78
Utente Master
2010
OFFLINE
01/12/2016 17:01

allega il file

----------
Win 10 - Excel 2010
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Post: 89
Registrato il: 09/04/2015
Età: 45
Utente Junior
2013
OFFLINE
01/12/2016 17:12

allegato

la sub di apertura del form interessato è la FIND_click nel modulo 1 legata al commandbutton CERCA

Il form di riferimento è il Ricerca

Grazie
[Modificato da shadi1978 01/12/2016 17:15]
Post: 90
Registrato il: 09/04/2015
Età: 45
Utente Junior
2013
OFFLINE
02/12/2016 09:43

E' una cosa non fattibile? devo cercare altre strade?

Grazie mille
Post: 3.505
Registrato il: 13/03/2012
Città: LIVORNO
Età: 78
Utente Master
2010
OFFLINE
02/12/2016 10:24

hai allegato un file senza dati, come faccio a capire come funziona e testare le modifiche ?

----------
Win 10 - Excel 2010
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Post: 91
Registrato il: 09/04/2015
Età: 45
Utente Junior
2013
OFFLINE
02/12/2016 10:45

scusa, erroneamente non mi sono accorto di aver cancellato anche i dati di colonna A

adesso lo riempito

grazie scusa
Post: 3.507
Registrato il: 13/03/2012
Città: LIVORNO
Età: 78
Utente Master
2010
OFFLINE
02/12/2016 11:21


L'ideale sarebbe che al momento dell'apertura del Form Ricerca con il commandbutton CERCA in automatico la lista della combobox sia già compilata


il codice che hai allegato lo devi mettere nella sub
Private Sub UserForm_Initialize()
in comboSPDZ_Click devi mettere il codice da eseguire dopo la scelta
[Modificato da patel45 02/12/2016 11:24]

----------
Win 10 - Excel 2010
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Post: 92
Registrato il: 09/04/2015
Età: 45
Utente Junior
2013
OFFLINE
02/12/2016 12:20

[SM=x423069] [SM=x423069] [SM=x423069] [SM=x423069] [SM=x423069]

GRAZIEEEEEEEEE MILLE!

un'altra cosa: nel codice postato all'inizio creo una colonna il filtro avanzato da cui vado a prendere i dati per la combobox.

è possibile (anzi sicuramente è possibile visto che mi sembra di capire che con VB si possa fare praticamente di tutto) mettere un codice che funzioni nella stessa maniera direttamente nel Ricerca.comboSPDZ.AddItem senza creare colonne per i filtri?

Ti chiedo questo perchè dovrò fare la stessa cosa per altri 4 valori e vorrei evitare di avere queste 4 colonne in un foglio.

Grazie ancora e scusatemi se vi continuo a stressare, piano piano però sto imparando.... [SM=x423024] [SM=x423051]
Post: 3.509
Registrato il: 13/03/2012
Città: LIVORNO
Età: 78
Utente Master
2010
OFFLINE
02/12/2016 12:55

è il modo più semplice per farlo, altrimenti devi imparare le collection (molto più complicate), piuttosto per cercare l'ultima riga piena di una colonna non c'è bisogno di fare un loop, puoi sostituire
iRR = 4
vTemp = sh.Cells(iRR, 1).Value
Do While Not IsEmpty(vTemp)
    iRR = iRR + 1
    vTemp = sh.Cells(iRR, 1).Value
Loop
UltimaRiga = iRR

con
UltimaRiga = sh.Cells(Rows.Count, 1).End(xlUp).Row 



----------
Win 10 - Excel 2010
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Post: 93
Registrato il: 09/04/2015
Età: 45
Utente Junior
2013
OFFLINE
02/12/2016 16:37

Grazie Patel della dritta,

siccome riscontro dei problemi sul risultato della combobox per causa di nomi uguali (mi riferisco alla dicitura dei dati dell'elenco) scritti con spaziature diverse o altre differenze.

è possibile creare nella combobox (o altro tipo di oggetto nel form) un menù a discesa selezionabile con la spunta tipo il menù che si crea con il filtro automatico di excel?

la differenza sarebbe che i dati che andranno a creare il menù dovrebbero essere presi dal risultato di un filtro simile a questo:

Columns("N:N").Select
sh.Range(Cells(3, 14), Cells(iRR - 1, 14)).AdvancedFilter Action:=xlFilterCopy, CopyToRange:=sh1.Range("Z1"), Unique:=True
sh1.Activate

non posso allegarti nulla, perchè non ho idea da dove partire per fare questa cosa....

grazie
Post: 3.512
Registrato il: 13/03/2012
Città: LIVORNO
Età: 78
Utente Master
2010
OFFLINE
02/12/2016 17:57

non ho capito, comunque la riga
Columns("N:N").Select
è inutile, la puoi togliere

----------
Win 10 - Excel 2010
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Post: 94
Registrato il: 09/04/2015
Età: 45
Utente Junior
2013
OFFLINE
05/12/2016 11:23

Ciao Patel,

eliminato la riga superflua.

ti allego un'immagine con quello che vorrei riuscire a fare in una combobox:

ciò che vorrei ottenere è quello circondato di rosso

grazie mille
Post: 95
Registrato il: 09/04/2015
Età: 45
Utente Junior
2013
OFFLINE
06/12/2016 11:53

Ciao,

dal momento che nessuno risponde, temo che sia impossibile...

Mi sto scervellando e spulciando internet in ricerca della soluzione, potete solo dirmi se quello che vorrei fare è una chimera?

grazie mille dell'aiuto
Post: 2.480
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Veteran
Excel 365
OFFLINE
06/12/2016 12:15

Ciao Shady

Non entro nel merito della discussione ma per ottenere in una combo qualcosa di simile a quello che hai mostrato nell'ultima immagine devi impostare la proprietà ListStyle della combo a:

vb
1 - fmListStyleOption

Alfredo
Post: 96
Registrato il: 09/04/2015
Età: 45
Utente Junior
2013
OFFLINE
06/12/2016 16:31

Ciao,

grazie... come hai potuto capire, per quanto ci provi non sono proprio una cima in VBA, seguendo il tuo suggerimento cambia l'impostazione della combobox con l'inserimento degli otpionbutton, ma in ogni caso la scelta possibile è sempre singola.

Quello che cercavo, sempre se possibile, è quello di poter selezionare più cose all'interno della lista combo box.
Ho fatto l'esempio dell'autofilter di excel perchè sarebbe l'ideale per me aver una scelta simile nella combo:
- singola
- multipla
- o completa

grazie ancora
Post: 3.533
Registrato il: 13/03/2012
Città: LIVORNO
Età: 78
Utente Master
2010
OFFLINE
06/12/2016 16:52

prova la listview

----------
Win 10 - Excel 2010
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 14:34. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com