Hi, I have a sub which checks for the highest score and moves the name and score up or down depending on the position for example, 1. test 100 2. test1 99 3 test2 79 4.test3 10 Please can somebody help me convert it to do the opposite or suggest some new code. So the opposite would be, 1. test3 10 2. test2 79 3. test1 99 4. test 100 Many thanks in advance, the orignal code is posted below Code: Private Sub MoveDown() Dim PlayerScore As String, PlayerName As String, x As Integer PlayerScore = Int(txtaddscore.Text) PlayerName = txtaddname.Text If PlayerScore > intscore(9) Then 'If score is higher than lowest (Number 9) score MsgBox "Congratulations you got a high score", vbInformation, "Top Ten" For x = 0 To 9 If Int(PlayerScore) > intscore(x) Then intnewpos = x 'Find highcores position Exit For End If Next x For x = 9 To intnewpos + 1 Step -1 strnames(x) = strnames(x - 1) 'move names down intscore(x) = intscore(x - 1) 'move scores down Next x strnames(intnewpos) = PlayerName 'Give current name its position intscore(intnewpos) = PlayerScore 'Give current score its position