"Andrea.9" <***@eld-cauvin.it> ha scritto nel messaggio news:ace8039e-4146-4e68-b77c-***@y9g2000yqg.googlegroups.com...
Buongiorno Andrea.9
Post by Andrea.9Ho capito ... almeno quasi.
nella cella di selezione mi compare un numero che è la posizione della
stringa rispetto all'elenco e non la scritta stessa.
ad esempio: elenco -> pippo, pluto, paperino
selezione dalla casella combinata paperino
nella cella compare 3
Non ho capito cosa intendi.
Post by Andrea.9dovendo ripetere l'operazione su molte celle c'è modo di farlo per un
intervallo di celle e non ripetere l'operazione per ciascuna cella?
Se vuoi provare una soluzione 'artigianale':
- dal menù => visualizza => barre degli strumenti scegli 'strumenti di
controllo'
Dalla finestra degli Strumenti di controllo clicchi sull'icona della casella
combinata e la 'disegni' nel foglio.
Puoi metterla dove vuoi e grande quanto vuoi.
Poi clicchi sull'icona delle Proprietà (o fai clic destro sulla casella e
poi scegli Proprietà) e nella proprietà (name) assegni il nome MyCombo
(questo è importante).
Ammettendo che sul foglio tu abbia già la convalida dati impostata,
seleziona l'intervallo di celle interessate e nel menù convalida 'elenco'
togli la spunta da [ ] Elenco nella cella.
Fai clic col tasto destro del mouse sulla linguetta del foglio e incolla:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error GoTo ErrorHandler
If Target.Cells.Count > 1 Then
'do nothing
Else
With Me.MyCombo
.Visible = False
.LinkedCell = ""
.Value = ""
If Target.Validation.Type = 3 Then
Application.EnableEvents = False
.Top = Target.Top
.Left = Target.Left
.Height = Target.Height
.Width = Target.Width
.Visible = True
.ListFillRange = Evaluate(Target.Validation.Formula1).Address
.ListRows = Evaluate(Target.Validation.Formula1).Rows.Count
.LinkedCell = Target.Address
End If
End With
End If
ErrorHandler:
Application.EnableEvents = True
End Sub
E' limitata al caso in cui la convalida sia da elenco.
Ciao, Nur