Imporre il solo utilizzo della lista del cbobox
Hai un problema con Excel?
Imporre il solo utilizzo della lista del cbobox
di Raelear data: 27/03/2015 18:45:19
Salve a tutti,
per un cboBox specifico, desidero impedire l'inserimento da tastiera e forzare quindi al solo uso della lista caricata nel cboBox stesso.
Ho provato con la funzione _KeyPress come da codice riportato sotto, ma dopo avermi presentato il messaggio previsto, comunque mi scrive il carattere del tasto che ho premuto sulla tastiera..
C'é un modo per evitarlo?
Private Sub cboPst_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
Case 0 To 255
Beep
Msgbox "Selezionare un nome dalla lista", vbOKOnly, "miotitolo"
End Select
End Sub |
di Raelear data: 27/03/2015 19:21:34
..scusate, completo la domanda..
ovviamente posso inserire un controllo su ció che appare scritto nel cboPst, del tipo: cerco nella lista ció che appare in cboPst e, se é <> da qualsiasi nome della lista, allora cboPst = "" (come da codice sotto allegato),
ma mi chiedevo se esiste un metodo piú diretto.
Grazie dinuovo per l'attenzione
Private Sub cboPst_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
Case 0 To 255
Beep
Msgbox "Selezionare un nome dalla lista", vbOKOnly, "miotitolo"
End Select
End Sub
'dichiarazione variabili a parte...
If cboPst <> "" Then
With shPst
r = .Range("C" & Rows.Count).End(xlUp).Row
found = False
For Each cercap In .Range("C8:C" & r)
If cercap = cboPst Then
found = True
txtPst = cercap.Offset(0, -1)
Exit For
End If
Next
If found = False Then
txtPst = ""
cboPst = ""
End If
End With
End If |
di scossa data: 27/03/2015 20:06:06
Non ti basta impostare a 2 la proprietà Style della combobox?
scossa's web site |
Se tu hai una mela, ed io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee. (George Bernard Shaw) |
di Raelear data: 27/03/2015 20:22:04
ciao scossa,
non conoscevo questa proprietá.. sono alle prime armi.. quindi innanzitutto grazie per l'opportunitá che mi hai dato..
in merito al mio caso, non sembra che la soluzione faccia al caso mio.. quando premo un tasto qualsiasi della tastiera mi restituisce direttamente il primo valore della lista nella cboBox, sebbene mi faccia il dropdown della stessa.. nel mio caso la lista puó contenere dei valori 'non ammessi' all'operazione che si sta effettuando, ma che comunque devono essere visualizzati; per tali valori appare un messaggio di informazione e viene cancellato il contenuto del cboBox.. quindi, come nel caso che ho appena provato, se il primo valore mostrato/scritto nel cboBox coincide con uno di questi valori 'non ammessi', non si ha modo di andare avanti nella selezione degli altri dalla lista..
a parte questa soluzione e quella che ho adottato per ora (vedi codice precedente), ti sembra ce ne siano altre?
Grazie ancora per il tuo intervento
di scossa data: 27/03/2015 20:43:28
Ti consiglio di allegare un file di esempio (coerente con quello reale), riceverai più facilmente un aiuto.
scossa's web site |
Se tu hai una mela, ed io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee. (George Bernard Shaw) |
Vuoi Approfondire?