CASELLA COMBINATA ACTIVEX
Hai un problema con Excel? 
CASELLA COMBINATA ACTIVEX
di cicciop (utente non iscritto) data: 24/11/2016 18:26:57
Buonasera,
mi sto imbattendo in un bizzarro problema con una casella combinata activex.
Ho copiato da questo stesso sito una macro per far sì che allo scegliere di uno dei valori della casella mi venga restituito il valore della colonna in cui si trova, ossia: se A è nella prima colonna e seleziono A, mi restituisce il valore 1.
Stranamente se ho due valori uguali non mi restituisce due valori di colonna diversi ma sempre lo stesso, es: se ho B sia nella seconda che nella terza colonna, qualsiasi dei due valori scelgo nella casella, mi restituisce sempre il valore 2.
La macro che utilizzo è la seguente:
Private Sub ComboBox1_Change()
Range("h15").Value = Application.Match(ComboBox1.Value, Sheets("Foglio1").Range("A2:A8"), 0)
End Sub
Per completezza spiego a cosa mi serve tutto questo:
ho una tabella con dati anagrafici di vario tipo. Ho necessità di avere una casella combinata da cui selezionare il cognome (possono esserci delle omonimie). Selezionando il cognome devo poi riempire, automaticamente, altre celle con i restati dati anagrafici della tabella.
In attesa di un vostro aiuto vi ringrazio anticipatamente
di alfrimpa data: 24/11/2016 18:51:53
Ciao Ciccio
Se alleghi il file (senza dati sensibili) forse riusciamo a capire qualcosa di più e a fare dei test.
Alfredo
di cicciop (utente non iscritto) data: 25/11/2016 09:29:34
Fatto. Spero sia scaricabile
:D
di patel data: 25/11/2016 10:00:30
hai allegato un xlsx, quindi senza macro
di cicciop (utente non iscritto) data: 25/11/2016 10:03:18
Non ho idea di come si faccia.
Comunque la macro è quella che ho messo nella discussione iniziale.
di Francesco Parise (utente non iscritto) data: 25/11/2016 10:05:49
Ho salvato con la macro. Scusate ma non l'avevo mai fatto
di alfrimpa data: 25/11/2016 12:11:29
Ciao Francesco
La macro così com'è fa quel che deve fare; in sostanza è un CONFRONTA lato VBA e restituisce la posizione dell'elemento selezionato nell'intervallo A2:A8.
Detto questo non ho capito bene quello che vuoi fare tu.
Dovresti allegare un file più completo spiegando bene quello che vuoi fare; se parliamo di anagrafiche e quindi possibilità di omonimie devi creare dei dati univoci come ad esempio il codice fiscale oppure la concatenazione del nome del cognome e, se non sufficiente, anche dell'anno di nascita.
Alfredo
di cicciop (utente non iscritto) data: 25/11/2016 12:15:48
Si infatti la macro funziona, non ho detto il contrario.
Il problema è che se tu noti, quando vai a selezionare uno dei due cognomi uguali(PAR), nella casella restituisce sempre lo stesso valore (2), nonostante ci siano effettivamente due diversi PAR.
Per essere più chiari, a me servirebbe che quella macro facesse esattamente quello che fa il "collegamento cella" nelle caselle combinate a moduli, ovvero restituire ESATTAMENTE il numero della colonna in cui il dato è inserito.
La soluzione del dato univoco non è una soluzione al momento, l'avevo già valutata.
di cicciop (utente non iscritto) data: 25/11/2016 12:22:27
Per essere ancora più chiaro:
con la tabella
SPORT
PAR
PAR
MIE
mi aspetterei di avere i seguenti risultati(i numeri rappresentano l'ordine in colonna):
SPORT= 1
PAR = 2
PAR = 3
MIE = 4
così come sono messi in colonna.
Al momento, nonostante ci siano due PAR differenti e selezionabili, il risultato è sempre lo stesso, ovvero
SPORT= 1
PAR = 2
PAR = 2
MIE = 4
viene saltato il valore 3
di patel data: 25/11/2016 13:02:18
prova così
Private Sub ComboBox1_Change()
Range("h15").Value = ComboBox1.ListIndex + 1
End Sub
|
di cicciop (utente non iscritto) data: 25/11/2016 14:29:27
Mi pare funzioni. Grazie mille.
C'è qualche controindicazione? :D
di cicciop (utente non iscritto) data: 25/11/2016 18:47:12
Colgo l'occasione per chiedere: c'è un modo per NON far comparire il bottone quando si va a stampare? Solo il bottone, il contenuto mi serve.
di alfrimpa data: 25/11/2016 18:57:49
Devi andare in Formato controllo, Proprietà e deselezionare Stampa oggetto.
Alfredo
Vuoi Approfondire?