|
Sub TEST()
On Error Resume Next
Set D = CreateObject("scripting.dictionary")
Dim BRR(1 To 10)
ARR = Sheets("花名册").Range("A3").CurrentRegion
For I = 2 To UBound(ARR)
Select Case ARR(I, 3)
Case Is <= 20
S = "20周岁及以下"
Case 21
S = "21周岁"
Case 22
S = "22周岁"
Case 23
S = "23周岁"
Case 24
S = "24周岁"
Case Is >= 25
S = "25周岁及以上"
End Select
If Not D.EXISTS(ARR(I, 4) & S) Then
If ARR(I, 8) = "是" Then BRR(1) = 1
If ARR(I, 7) = "是" Then BRR(10) = 1
N = InStr("男病假女病假男事假女事假男在岗女在岗男脱岗女脱岗", ARR(I, 5) & ARR(I, 6))
N = N / 3 + 2
BRR(N) = 1
D(ARR(I, 4) & S) = BRR
Erase BRR
Else
B = D(ARR(I, 4) & S)
If ARR(I, 8) = "是" Then B(1) = B(1) + 1
If ARR(I, 7) = "是" Then B(10) = B(10) + 1
N = InStr("男病假女病假男事假女事假男在岗女在岗男脱岗女脱岗", ARR(I, 5) & ARR(I, 6))
N = N / 3 + 2
B(N) = B(N) + 1
D(ARR(I, 4) & S) = B
End If
Next
With Sheets("汇总表")
R = .Cells(Rows.Count, 1).End(xlUp).Row
CRR = .Range("A6:L" & R)
For J = 1 To R - 5
S = CRR(J, 1) & CRR(J, 2)
For K = 1 To 10
CRR(J, K + 2) = D(S)(K)
Next
Next
.Range("A6:L" & R) = CRR
End With
End Sub
|
评分
-
1
查看全部评分
-
|