EXCEL月度统计
注意:在路径表的B列填写月日报表的存储路径(完整路径名,如C:\ Daily Report \ 201201);在A列中输入数据1或0(0是可选的),1表示选择了相应的路径。在运行时,将汇总选定路径中的所有报告。如果A列大于1,则统计所有选择的路径(方便一次性统计多个月的日报表)。
——处理过程会汇总大家的数据,人事变动不受影响。
——日报表的名称栏不能为空,否则空行以下的栏不计算在内。
Sub summary personnel data()'从月度路径中获取每日文件,并将其合并到当前文件汇总表中。
Set s = CreateObject("脚本。文件系统对象”)
gjz = "*。xls "
Set hm = ThisWorkbook。工作表(“汇总表”)。范围(" A2 ")
设置ahm = hm。范围(单元格(1,1),单元格(10000,1))
x = 0
对于本工作簿中的每个c。工作表(“路径表”)。范围(" a2:a20 ")
If Len(c.Value)>那么0
如果c .值= 1,则
lj = c.Offset(0,1)。价值
如果正确(lj,1)& lt;& gt“那么lj = lj & amp"\"
Set d = s.GetFolder(lj)
Set f = d.Files
对于f '中的每个k,一个文件接一个文件。
bnm = k .名称
fl = lj + bnm
申请。StatusBar = "打开文件:"+bnm
出错时转到错误处理
练习册。打开fl
出错时转到0
申请。StatusBar = False
v = 0
对于工作簿中的每个sht(bnm)。工作表
设置om = sht。范围(" b2 ")
如果om。Value = "name "然后
对于i = 1至10000
如果Len(om。偏移量(i+1,0)。Value) = 0,然后退出
aa = om。偏移量(i+1,0)。价值
出错时转到et
t =工作表功能。匹配(aa,ahm,0)
出错时转到0
如果v = 1,则
v = 0
嗯。偏移量(x,0)。价值= aa
嗯。偏移量(x,1)。值= om。偏移量(i+1,6)。价值
嗯。偏移量(x,2)。值= om。偏移量(i+1,7)。价值
嗯。偏移量(x,3)。值= 1
x = x + 1
其他
v = 0
嗯。偏移量(t - 1,4)。价值= aa
嗯。偏移(t - 1,1)。值= hm。偏移(t - 1,1)。价值+ om。偏移量(i+1,6)。价值
嗯。偏移量(t - 1,2)。值= hm。偏移量(t - 1,2)。价值+ om。偏移量(i+1,7)。价值
嗯。偏移量(t - 1,3)。值= hm。偏移量(t - 1,3)。值+ 1
如果…就会结束
接下来我
如果…就会结束
下一次
ActiveWorkbook。关闭假
下一个k
如果…就会结束
如果…就会结束
下一个c
设置om =无
设置f =无
设置d =无
设置ahm =无
设置hm =无
设置s =无
出口接头
错误处理:
工作簿(bnm)。使活动
接下来继续
出口接头
et:
v = 1
接下来继续
末端接头