Application.ScreenUpdating = False
Dim arr(1000, 2)
s1 = [a1000].End(3).Row - 4
For i = 1 To s1
arr(i, 1) = Cells(i + 4, 18)
arr(i, 2) = i + 4
Next i
For i = 1 To s1
For k = i + 1 To s1
If arr(i, 1) < arr(k, 1) Then
s2 = arr(i, 1)
s3 = arr(i, 2)
arr(i, 1) = arr(k, 1)
arr(i, 2) = arr(k, 2)
arr(k, 1) = s2
arr(k, 2) = s3
End If
Next k
Next i
Dim arr1(1000, 18)
For i = 1 To s1
For k = 1 To 18
arr1(i, k) = Cells(arr(i, 2), k)
Next k
Next i
For i = 1 To s1
For k = 1 To 18
Cells(i + 4, k) = arr1(i, k)
Next k
Next i
Application.ScreenUpdating = True
最高分和最低分可以用工作表函数min和max直接得到,当然代码也可以做。我不知道该放在哪个地方,所以也没弄它。 |