代码改一下
Dim drs As List(Of DataRow) = DataTables("成绩表").Select("", "总分合计 DESC")
For n As Integer = 0 To drs.Count - 1 '遍历所有行
If drs(n)("总分合计") >= 0 Then
If n > 0 AndAlso drs(n)("总分合计") = drs(n - 1)("总分合计") Then '如果取舍后合计和上一行相同
drs(n)("名次") = drs(n - 1)("名次") '则排名等于上一行
Else
drs(n)("名次") = n + 1 '设置排名
End If
End If
Next
Tables("成绩表").Sort = "名次"