|
- Sub tt()
- r = Sheet1.[e65536].End(3).Row
- arr = Sheet1.Range("a2:q" & r)
- ReDim brr(1 To UBound(arr), 1 To 14)
- bj = "1101"
- For i = 2 To UBound(arr) '从数据中取出指定班级
- If arr(i, 4) = bj Then
- k = k + 1
- brr(k, 1) = arr(i, 1) '序号
- brr(k, 2) = arr(i, 4) '班号
- brr(k, 3) = arr(i, 7) '考号
- brr(k, 4) = arr(i, 5) '姓名
- For j = 5 To 14 '成绩、总分、班名、校名
- brr(k, j) = arr(i, j + 3)
- Next
- End If
- Next
- Dim crr(1 To 14) '从大到小排序
- For i = 1 To k - 1
- For j = i + 1 To k
- If brr(i, 12) < brr(j, 12) Then
- For p = 1 To 14
- crr(p) = brr(i, p)
- brr(i, p) = brr(j, p)
- brr(j, p) = crr(p)
- Next
- End If
- Next
- Next
-
- With Sheet2
- .Range("a3:ac32") = ""
- For i = 1 To k
- c = IIf(i <= 30, 1, 16)
- r = IIf(i <= 30, i + 2, i - 30 + 2)
- .Cells(r, c).Resize(1, 14) = Application.Index(brr, i)
- Next
- .Activate
- End With
-
- End Sub
复制代码 |
|