|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
本帖最后由 micch 于 2018-12-30 20:19 编辑
- Sub NJPM()
- Dim i%, k%, n%, ks%, js%, s, x
- Set d = CreateObject("scripting.dictionary")
- ks = InputBox("开始名次:", , 1)
- js = InputBox("结束名次:", , 50)
- arr = Sheet2.Range("a3:n" & [d65536].End(3).Row)
- For i = 1 To UBound(arr)
- If arr(i, 4) <> "" Then
- x = 0: s = ""
- For k = 1 To 13
- s = s & "@" & arr(i, k)
- If k > 4 And k < 14 Then: x = x + arr(i, k)
- Next
- s = s & "@" & arr(i, 5) + arr(i, 6) + arr(i, 7)
- d(s) = x
- End If
- Next
- ar = d.keys: br = d.items
- For i = 0 To d.Count - 1
- For k = i + 1 To d.Count - 1
- If br(k) > br(i) Then
- x = br(i): br(i) = br(k): br(k) = x
- s = ar(i): ar(i) = ar(k): ar(k) = s
- End If
- Next k, i
- ReDim brr(d.Count, 15)
- For i = 0 To d.Count - 1
- If i > ks - 2 And i < js Then
- brr(n, 13) = br(i)
- For k = 0 To 12
- brr(n, k) = Split(ar(i), "@")(k + 1)
- Next
- n = n + 1
- End If
- Next
- Sheet4.[a3].Resize(n, 15) = brr
- End Sub
复制代码
成绩排名表,实在是写不动了,前三科排名不想写了,没时间了。 |
评分
-
1
查看全部评分
-
|