|
Sub test()
Set d = CreateObject("scripting.dictionary")
Set dd = CreateObject("scripting.dictionary")
brr = Array(20, 30, 30)
Dim drr(0 To 2)
arr = Sheets("一科赋等级").UsedRange
For j = 2 To UBound(arr)
d(arr(j, 1)) = d(arr(j, 1)) & "*" & arr(j, 5)
Next j
For Each k In d.keys
crr = Split(d(k), "*")
For j = 1 To UBound(crr)
For i = j + 1 To UBound(crr)
If Val(crr(i)) > Val(crr(j)) Then
tm = Val(crr(j))
crr(j) = Val(crr(i))
crr(i) = tm
End If
Next i
Next j
s = 0
For i = 0 To UBound(brr)
x = UBound(crr) * brr(i) / 100 + s
For j = x + 1 To UBound(crr)
If crr(x) <> crr(j) Then
s = j
drr(i) = Val(crr(x))
Exit For
End If
Next j
Next i
d(k) = drr
Next k
For j = 2 To UBound(arr)
brr = d(arr(j, 1))
arr(j, 8) = "D"
For i = 0 To 2
If arr(j, 5) >= Val(brr(i)) Then
arr(j, 8) = Mid("ABC", i + 1, 1)
Exit For
End If
Next i
Next j
Sheets("一科赋等级").UsedRange = arr
End Sub
|
|