Here's what's going on......
VB Code:
If MsgBox("Are you shure you want to clear the list?", vbYesNo, "Clear List?") = vbYes Then
For x = 0 To cboMovies.ListCount
cboMovies.RemoveItem (x)
Next
Else
Exit Sub
End If
The first time through, x= 0, so it removes the first item in the list. Everything shifts down one position.
Second time through, x= 1, it deletes the second item, which use to be the third item, it's fine, until about halfway through, when X > number of items left.
Instead try, always removing just the first item. Like this.
VB Code:
If MsgBox("Are you shure you want to clear the list?", vbYesNo, "Clear List?") = vbYes Then
For x = 0 To cboMovies.ListCount
cboMovies.RemoveItem 0
Next
Else
Exit Sub
End If
If speed is importaint, use Martin's solution: .Clear