EXCEL月度统计

自己创建一个摘要工作簿。表名1是路径表,AB依次是选项和路径。表2的名称是汇总表,ABCDE依次是名称、实际产量、效率、天数、验证。在宏编辑器中插入模块,复制并运行以下宏。

注意:在路径表的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

接下来继续

末端接头