|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
Sub 考勤整理()
Dim d As Object
Set d = CreateObject("scripting.dictionary")
Set dc = CreateObject("scripting.dictionary")
ar = Sheets("原始源").[a1].CurrentRegion
Dim br()
ReDim br(1 To UBound(ar), 1 To UBound(ar))
k = 1
br(k, 1) = ar(1, 1)
br(k, 2) = ar(1, 2)
y = 2
For i = 2 To UBound(ar)
If Trim(ar(i, 1)) <> "" Then
t = d(Trim(ar(i, 1)))
If t = "" Then
k = k + 1
d(Trim(ar(i, 1))) = k
t = k
br(k, 1) = ar(i, 1)
br(k, 2) = ar(i, 2)
End If
If Not dc.exists(Trim(ar(i, 10))) Then
y = y + 1
br(1, y) = ar(i, 10)
dc(Trim(br(1, y))) = y
br(t, y) = Format(ar(i, 11), "h:mm")
Else
n = dc(Trim(ar(i, 10)))
br(t, n) = br(t, n) & Chr(10) & Format(ar(i, 11), "h:mm")
End If
End If
Next i
With Sheets("想要得出的结果")
.[a1].CurrentRegion = Empty
.[a1].Resize(k, y) = br
End With
MsgBox "ok!"
End Sub
|
评分
-
1
查看全部评分
-
|