Tables("九年级").StopRedraw
Dim bjs As List(Of String) = DataTables("九年级").GetValues("年级", "[年级] Is Not null")
Dim Count As Integer
Dim ColNames() As String = {"语文_分数", "数学_分数", "英语_分数", "物理_分数", "化学_分数", "政治_分数", "历史_分数"}
Dim TotalName As String
For Each ColName As String In ColNames '
For i As Integer = 0 To bjs.Count - 1
Dim drs As List(Of DataRow) = DataTables("九年级").Select("[年级] = '" & bjs(i) & "'", ColName & " DESC")
Count = 0
TotalName = Left(ColName, 2) & "_年级排名"
For n As Integer = 0 To drs.Count - 1
Count = Count + 1
If n > 0 AndAlso drs(n)(ColName) = drs(n - 1)(ColName) Then
drs(n)(TotalName) = drs(n - 1)(TotalName)
Else
drs(n)(TotalName) = Count
End If
Next
Next
Next
Tables("九年级").Sort = "_分数 DESC"
Tables("九年级").ResumeRedraw
表中的列名为:"语文_分数","语文_年级排名","数学_分数","数学_年级排名"等, 老师, 我这样写代码行吗 TotalName = Left(ColName, 2) & "_年级排名"