|
发表于 2017-6-6 15:11
|
显示全部楼层
本楼为最佳答案
做了一个应发工资的,其他的在此基础上稍微改一下即可。
- Sub 应发工资()
- Set d = CreateObject("scripting.dictionary")
- Set d1 = CreateObject("scripting.dictionary")
- For k = 1 To 12
- With Sheets(k & "月")
- m = .[a1:z3].Find("姓名").Column
- c = .[a1:z3].Find("应发工资").Column
- r = .[a1:z3].Find("姓名").Row
- arr = .[a1].CurrentRegion
- For i = r + 1 To UBound(arr)
- x = arr(i, m)
- If x <> "" And x <> "合计" Then
- d1(x) = ""
- xx = .Name & x
- d(xx) = d(xx) + arr(i, c)
- End If
- Next
- End With
- Next
- With Sheets("应发数汇总")
- .[a3:o10000] = ""
- .[b3].Resize(d1.Count) = Application.Transpose(d1.keys)
- arr = .[a1].CurrentRegion
- For i = 3 To UBound(arr)
- arr(i, 1) = i - 2
- x = arr(i, 2): s = 0
- For j = 3 To 14
- arr(i, j) = d(arr(2, j) & x)
- s = s + arr(i, j)
- Next
- arr(i, j) = s
- Next
- .[a1].CurrentRegion = arr
- End With
- End Sub
复制代码 |
评分
-
查看全部评分
|