- Sub 统计()
- Dim m, i, j, arr, brr(), crr()
- Range("R1:AE65536") = ""
- arr = Range("A1:N" & [A65536].End(3).Row)
- ReDim brr(1 To UBound(arr), 1 To 14)
- For i = 1 To UBound(arr)
- For j = 1 To 2
- brr(i, j) = arr(i, j)
- Next
- m = 2
- For j = 3 To UBound(arr, 2)
- If Left(arr(i, j), 1) Like "[0-9]" Then
- m = m + 1
- brr(i, m) = arr(i, j)
- End If
- Next
- ReDim crr(1 To 1, 1 To m - 2)
- For j = 3 To m
- crr(1, j - 2) = brr(i, j)
- Next
- Call dsort(crr)
- For j = 3 To m
- brr(i, j) = crr(1, j - 2)
- Next
- Erase crr
- Next
- [R1].Resize(UBound(brr), 14) = brr
- End Sub
- Function dsort(arr)
- Dim i, j, a, b, t
- For i = 1 To UBound(arr, 2) - 1
- For j = i + 1 To UBound(arr, 2)
- a = Val(Mid(arr(1, i), 1, Len(arr(1, i)) - 2))
- b = Val(Mid(arr(1, j), 1, Len(arr(1, j)) - 2))
- If a > b Then
- t = arr(1, i)
- arr(1, i) = arr(1, j)
- arr(1, j) = t
- End If
- Next
- Next
- End Function
复制代码 |