作者:iamlaosong
这个事情本身并不是什么难题,只是把12个月的月表数据按姓名进行合计,但是每个月中人员并不相同,有走的,也有新加入的。开始想用公式实现,实现时发现非常麻烦,主要是人员不定,就算弄好了,估计速度也成问题。还有一个办法,就是将12张表合并到一张表中,再按姓名进行分类汇总或者做个数据透视表,但手工合并也挺费工夫。用代码实现,自然简单,不涉及什么高深的技术,唯一要注意的就是采用数组,这样处理速度快。
如上图,将12个月中相关列按姓名进行汇总,点击按钮即可完成,速度很快。代码如下:
Sub HuiZong()
Dim arrXMs(), arrAAs(), arrAHs(), arrAMs()
Dim arrXMt(1000, 5)
Dim MaxRow, RYNo, RYCur As Integer
Dim stName As String
For mm = 1 To 12
stName = mm & "月"
RYCur = Sheets(stName).Range("G3"