Maybe, but it is far less work to use. It is two lines of code to instantiate and use.
Private Sub Form_Load()
Set lstUpDwn = New ListMoveUpDown
lstUpDwn.InitializeList Me.lstSort, Me.cmdup, Me.cmdDown, Me.cmdTop, Me.cmdBottom, Me.cmdDeselect
End Sub