Usa il metodo List per "caricare" dinamicamente il combobox. Ad esempio:
- Codice: Seleziona tutto
Sub GimmeCBList()
Dim CBList()
Dim SSh As Worksheet, WSh As Worksheet
Dim I As Long, iList As Long, myMatch
'
Set SSh = Sheets("Foglio1") '<<< Il foglio coi dati di origine
Set WSh = Sheets("FoglioDiAppoggio") '<<< Il foglio di appoggio
'
For I = 2 To SSh.Cells(Rows.Count, "A").End(xlUp).Row
If IsError(Application.Match(SSh.Cells(I, 1).Value, WSh.Range("A1:A5000"), False)) Then
iList = iList + 1
ReDim Preserve CBList(1 To iList)
CBList(iList) = SSh.Cells(I, 1).Value
End If
Next I
UserForm1.ComboBox1.RowSource = ""
UserForm1.ComboBox1.List = CBList
End Sub
Metti il codice in un modulo standard (facendo attenzione al nome della userform, se non e' UserForm1) oppure nello stesso modulo vba della userform (in questo caso invece di "Userform1" scriverai piu' appropriatamente "Me").
Adatta le due istruzioni marcate <<<
Usa Call GimmeCBList per popolare il combobox all'inizializzazione della Userform, e poi ripeti la chiamata tutte le volte che sposti qualcosa dal foglio principale a FoglioDiAppoggio
Ciao