Una famiglia di software per fogli di calcolo Microsoft con strumenti per l'analisi, la creazione di grafici e la comunicazione dei dati.
Attiva i riferimenti alle Microsoft Scripting Runtime
ed aggiungi questa riga nel Modulo1 generico:
Public dicL As Dictionary
Poi metti nel codice del foglio 01, sostituendo il tuo codice:
Private Sub cmd01GestisciMagazzino_Click()
Dim lngRow As Long, varKey
Set dicL = New Dictionary
lngRow = 1
With Worksheets("LISTA")
Do Until .Cells(lngRow, 4).Value = ""
If Not dicL.Exists(UCase(.Cells(lngRow, 4).Value)) Then
dicL.Add UCase(.Cells(lngRow, 4).Value), .Cells(lngRow, 4).Value
End If
lngRow = lngRow + 1
Loop
End With
Load frm01GestisciMagazzino
For Each varKey In dicL.Keys
frm01GestisciMagazzino.cboTipo3.AddItem dicL(varKey)
Next varKey
frm01GestisciMagazzino.Show
Unload frm01GestisciMagazzino
End Sub
Nel codice della UF togli l'evento Activate ed aggiungi il Change della cboTipo3
Private Sub cboTipo3_Change()
Dim varKey
With Me.cboTipo3
.Clear
For Each varKey In dicL.Keys
If InStr(varKey, UCase(.Value)) > 0 Then
.AddItem dicL(varKey)
End If
Next varKey
End With
End Sub
Adesso per ogni carattere che digiti nella combobox, ti filtrerà i risultati dal foglio LISTA.
Ciao.