Try this:
Code:
Private Sub Form_Load()
List1.Clear
For I = 0 To 10
List1.AddItem "Item" & I
Next I
End Sub
Private Sub List1_KeyDown(KeyCode As Integer, Shift As Integer)
With List1
If .ListCount = -1 Then Exit Sub
If KeyCode = vbKeyDown Then
If .ListIndex + 1 = .ListCount Then Exit Sub
Tmp = .ListIndex
.AddItem .List(.ListIndex), .ListIndex + 2
.RemoveItem .ListIndex
.Refresh
.ListIndex = Tmp
End If
If KeyCode = vbKeyUp Then
If .ListIndex = 0 Then Exit Sub
Tmp = .ListIndex
.AddItem .List(.ListIndex), Tmp - 1
.RemoveItem Tmp + 1
.Refresh
.ListIndex = Tmp
End If
End With
End Sub