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 = "名次"