Immagino che quello che l'elenco che dicevi essere in E1:E92 in realta' e' quello in AN2 e sottostanti... Se e' cosi', allora potresti usare questa macro per creare in un'altra colonna l'elenco da usare come filtro:
- Codice: Seleziona tutto
Private Sub Worksheet_Deactivate()
Dim Dest As String, myNext As Long, I As Long
'
Dest = "AQ" '<<< Una colonna libera di Foglio1
With Sheets("Foglio1")
.Range(Dest & 1).Resize(100, 1).ClearContents
For I = 2 To 100
If .Cells(I, "AN") <> "" Then
.Cells(myNext + 1, Dest) = .Cells(I, "AN")
myNext = myNext + 1
End If
Next I
.Cells(2, Dest).Resize(myNext - 1).Name = "myFilt"
End With
End Sub
Per inserirla:
-tasto dx sul tab col nome Foglio1; scegli Visualizza codice. Si aprira' l'editor delle macro
-copia il codice e incollalo nel frame vuoto di dx
L'istruzione marcata <<< va personalizzata per indicare una colonna vuota in cui sara' creato l'elenco desiderato.
La macro assegna all'elenco creato il "nome" myFilt; per cui dove vuoi impostare la convalida da elenco ti bastera' impostare la convalida da elenco e come origine indicare
=myFiltLa macro assume che i parametri vengono modificati in Foglio1 ma la convalida sia da impostare in un foglio differente; per cui l'elenco viene aggiornato al momento di deselezionare Foglio1.
Dopo questa modifica il file va salvato nel formato "macro enabled" , cioe' .xlsm
Ciao