Puoi provare con l'evento click:
Ho tolto la list2.clear perchè pulirebbe ogni volta list2.codice:Private Sub List1_Click() Dim I As Integer For I = List1.ListCount - 1 To 0 Step -1 If List1.Selected(I) = True Then List2.AddItem List1.List(I) List1.RemoveItem I End If Next I End Sub
Se invece vuoi spostare tutti gli item della list1 nella list2 con un tasto di comando(stai solo attento che l'ordine con cui viene visualizzato nella list2 è inverso a quello della list1,puoi eventualmente attivare la proprietà sorted):
e per riportare gli item nella list1:codice:Private Sub Command1_Click() Dim I As Integer List2.Clear For I = List1.ListCount - 1 To 0 Step -1 List2.AddItem List1.List(I) List1.RemoveItem I Next I Command1.Enabled = False Command2.Enabled = True End Sub
codice:Private Sub Command2_Click() List1.Clear For I = List2.ListCount - 1 To 0 Step -1 List1.AddItem List2.List(I) List2.RemoveItem I Next I Command1.Enabled = True Command2.Enabled = False End Sub

Rispondi quotando