Condividi:        

[EXCEL]POPOLARE COMBOBOX DA DATI NON IN EXCEL

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

[EXCEL]POPOLARE COMBOBOX DA DATI NON IN EXCEL

Postdi commerciale » 12/09/11 12:55

Qualcuno è in grado di dirmi come caricare una combobox da dati non presenti in excel?
ho provato con .List , .ListCount, .AddItem, .TextLength e chissà quanti altri ma non ci sono riuscito...
Allego foto

Immagine


Grazie anticipato
commerciale
Utente Junior
 
Post: 92
Iscritto il: 16/07/11 09:14

Sponsor
 

Re: [EXCEL]POPOLARE COMBOBOX DA DATI NON IN EXCEL

Postdi Anthony47 » 12/09/11 14:23

Ok, non sono in excel; ma dove sono?
Avatar utente
Anthony47
Moderatore
 
Post: 19220
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: [EXCEL]POPOLARE COMBOBOX DA DATI NON IN EXCEL

Postdi commerciale » 12/09/11 14:28

In questo caso voglio inserire "Nome" "Cognome" e "Telefono", non è possibile definirli direttamente con visual basic?
commerciale
Utente Junior
 
Post: 92
Iscritto il: 16/07/11 09:14

Re: [EXCEL]POPOLARE COMBOBOX DA DATI NON IN EXCEL

Postdi Anthony47 » 12/09/11 14:58

Da quello che immagino si tratta di intestazioni di colonna.
Pertanto il mio suggerimento e' che imposti la proprieta' ColumnHeads = True; quando imposterai la proprieta' RowSource (es ComboBox1.RowSource = "Foglio2!$C2:$E7", oppure direttamente come proprieta' del controllo) automaticamente la riga "superiore" (C1:E1, nell' esempio) sara' considerata l' intestazione.

Fai sapere.
Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19220
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: [EXCEL]POPOLARE COMBOBOX DA DATI NON IN EXCEL

Postdi commerciale » 12/09/11 16:19

Devo semplicemente creare una combobox con 3 definizioni: "Nome" "Cognome" e "Telefono" senza nessun riferimento all'excel, dovrebbe essere semplicissimo ma non per me.... Una semplice "convalida dati" ma con visual basic.
Ho provato cmq quelli che mi hai dato ma non funzionava...
commerciale
Utente Junior
 
Post: 92
Iscritto il: 16/07/11 09:14

Re: [EXCEL]POPOLARE COMBOBOX DA DATI NON IN EXCEL

Postdi Anthony47 » 13/09/11 00:30

Hummm...
Non mi e' chiaro se vuoi scrivere "Nome" "Cognome" e "Telefono" o se vuoi creare un elenco di N nomi con 3 colonne con quel tipo di informazione; immaginiamo che sia "la seconda".

Se le informazioni non esistono (ancora) da nessuna parte allora le scriverai nel codice, come suggerito in questo esempio:
Codice: Seleziona tutto
ComboBox1.ColumnHeads = False
ComboBox1.RowSource = ""
'
ComboBox1.AddItem
ComboBox1.List(0, 0) = "Luigi"
ComboBox1.List(0, 1) = "Rossi"
ComboBox1.List(0, 2) = "02-123456"
ComboBox1.AddItem
ComboBox1.List(1, 0) = "Joe"
ComboBox1.List(1, 1) = "Smith"
ComboBox1.List(1, 2) = "212-5551234"
ComboBox1.AddItem
ComboBox1.List(2, 0) = "Marco"
ComboBox1.List(2, 1) = "Moreno"
ComboBox1.List(2, 2) = "08-654321"

Una valida alternativa e' popolare una matrice con i dati e poi scriverli in blocco:
Codice: Seleziona tutto
Dim MyArray(1, 2)    '2 righe e 3 colonne
'1°
    MyArray(0, 0) = "Luigi"
    MyArray(0, 1) = "Rossi"
    MyArray(0, 2) = "01-23456"
'2°
    MyArray(1, 0) = "Joe"
    MyArray(1, 1) = "Smith"
    MyArray(1, 2) = "215-5554321"
'Load data
    ComboBox1.List() = MyArray
Ambedue gli esempi sono presi dall' help on line del vba.

Queste opzioni sono disponibili se non e' usato nessun "RowSource"; il lato negativo di non usare RowSource e' che non puoi avere nel combobox gli header di colonna.
Le prime due istruzioni sul primo esempio servono ad assicurare questo prerequisito.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19220
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: [EXCEL]POPOLARE COMBOBOX DA DATI NON IN EXCEL

Postdi commerciale » 13/09/11 08:22

Ciao,
Premetto che li avevo trovati e provati, non mi funzionano, anche attualmente non mi funzionano... forse sbaglio il nome della private sub?? :-?
In ogni caso io voglio solo una colonna con proprio scritto "nome" "cognome" e "telefono"
Allego quello che ho scritto sulla base delle vostre ultime informazioni ma che non mi funziona comunque:

Private Sub Form_Load()
ComboBox1.ColumnHeads = False
ComboBox1.RowSource = ""
'
ComboBox1.AddItem
ComboBox1.List(0, 0) = "Nome"
ComboBox1.AddItem
ComboBox1.List(1, 0) = "Cognome"
ComboBox1.AddItem
ComboBox1.List(2, 0) = "Telefono"

ComboBox1.ListIndex = 0 'Seleziona il primo elemento.
End Sub


Grazie
Ciao ciao
commerciale
Utente Junior
 
Post: 92
Iscritto il: 16/07/11 09:14

Re: [EXCEL]POPOLARE COMBOBOX DA DATI NON IN EXCEL

Postdi Anthony47 » 13/09/11 14:57

Teoricamente va bene anche la UserForm_Load, ma suggerisco di usare l' evento UserForm_Activate, che si innesca ogni volta che attivi la form; cioe'
Codice: Seleziona tutto
Private Sub UserForm_Activate()
'quelle istruzioni
End Sub

Nota che nel caso di combobox a 1 colonna (o di multicolonna ma vuoi compilare solo la prima colonna), ti bastera' usare AddItem, nella formulazione
Codice: Seleziona tutto
ComboBox1.AddItem "Nome"
ComboBox1.AddItem "Cognome"
ComboBox1.AddItem "Telefono"

L' evento Load si innesca quando carichi la form in memoria, e cio' potrebbe accadere una sola volta, se poi non esegui un Unload UserForm1.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19220
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: [EXCEL]POPOLARE COMBOBOX DA DATI NON IN EXCEL

Postdi commerciale » 13/09/11 15:39

GRAZIE MILLE!!
Era esattamente quello che non riuscivo a fare!!
Una ultima richiesta, esiste su internet un sito (in italiano) che riassume in modo sintetico tutte le proprietà delle combobox, listbox, commandbutton ecc..
Per esempio che spieghi:
La proprietà DragBehavior enabled ti modifica in questo modo, disabled in quest'altro...
La proprietà DropButtonStyle impostata su 0 fa questo, impostata su 1 fa quest'altro ecc...
Grazie ancora
Ciao ciao
commerciale
Utente Junior
 
Post: 92
Iscritto il: 16/07/11 09:14

Re: [EXCEL]POPOLARE COMBOBOX DA DATI NON IN EXCEL

Postdi Anthony47 » 13/09/11 23:00

Il posto dove tutte quelle cose sono spiegate con dovizia di particolari e' il tuo pc, alla prestazione "Guida in linea di Microsoft Visual Basic": dall' editor delle macro, selezioni una parola del tuo codice (1 click "dentro" la paola) e premi F1 (per avere l' help su quella parola chiave); oppure Menu /? /Guida in linea, poi usi la navigazione libera dal sommario (tab Contenuto), oppure puoi cercare argomenti tramite una frase descrittiva (tab Ricerca libera), o cercare le informazioni su una parola chiave (tab Indice).

La guida in linea e' una vera miniera di informazioni, ne consiglio la consultazione a vecchi e bambini.
Oppure vai su http://msdn.microsoft.com/it-it/library/ms123401.aspx e navighi nella documentazione Microsoft; trattandosi pero' di documentazione tradotta automaticamente ne sconsiglio la lettura, a favore della versione originale in inglese: http://msdn.microsoft.com/en-us/library/ms123401.aspx

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19220
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: [EXCEL]POPOLARE COMBOBOX DA DATI NON IN EXCEL

Postdi commerciale » 20/09/11 12:46

Grazie,
non sapevo che facendo F1 dava spiegazioni sulla funzione selezionata, io cercavo con il ricerca e dava troppi risultati non chiari!

A presto!!
commerciale
Utente Junior
 
Post: 92
Iscritto il: 16/07/11 09:14


Torna a Applicazioni Office Windows


Topic correlati a "[EXCEL]POPOLARE COMBOBOX DA DATI NON IN EXCEL":


Chi c’è in linea

Visitano il forum: Nessuno e 40 ospiti