1 用Excel VBA编制适用于不同工作簿之间进行数据计算

VBA是Visual Basicfor Application的简写,它以VB为基础,经过修改并运行在MicrosoftOffice的应用程序,如Excel,Word中,它是不能像VB一样能生成可执行程序。铁路建设工程项目管理中的物资管理、合同管理、计划管理、投资管理和计价(进度)管理中报表的统计工作十分繁杂,几乎都是离不开Excel。以“武广铁路客运专线”建设项目为例,施工方项目经理部的物资管理、合同管理、计划管理、投资管理和计价(进度)管理工作中统计报表程序见图l。

目前,建设单位(业主)、施工企业(集团公司)管理部门、业务系统对报表的格式和要求没有统一性可言,形式多样。施工方项目部审核分析“工区”的报表,并在汇总“工区”报表基础上形成各种不同格式的上报报表。管理人员只能利用Excel的复制功能进行复制、粘贴、计算,工作量非常大,而且极易出现统计错误;如果遇到工区的报表有错误时,几乎要重新计算一遍。为此,笔者在实际工作中利用Excel VBA的功能,编制了报表统计汇总程序,极大地提高了数据处理的准确性和工作效率。

1.1 Excel VBA编程设计思路

以上报的报表格式(Excel格式)为Excel基础工作簿,在此工作簿上用VBA建立“汇总”过程。打开基础工作簿,通过“汇总”过程在没有打开的数据源的(各工区或项目报表)工作簿中查询数据并汇总到基础工作簿中。以表1和表2为例说明。表1作为基础工作簿,表2是数据源工作簿(工作表)。关键字段可以选择1-3,如“物资设备名称”、“规格型号”和“单位”等;关键字段的列可以任意选择,但必须要求基础工作簿(表)和数据源工作簿(表)相对应。数据项如A字段对应表1、表2的列可以任意选择,同样只要表1、表2对应即可,数据源工作表之间“A”的列可以相同也可以不相同,没有特殊要求。

1.2 Excel VBA程序

1)设置过程参数。

表1中计算起始行和数据项的列,对应在表2中计算起始行和数据项的列,作为过程参数设置。数据源表的格式没有统一的要求,表1和表2所选定的关键字段“物资设备名称”、“型号规格”按照定额或约定必须保持一致。过程对数据源的表格数量(即工区级报表)没有限制,根据具体情况设定过程中的变量参数即可。

2)过程程序的特点。

VBA代码非常精短,依附在基础工作簿的“模块”中,使用方便。使用Windows API的相应函数,用户选择数据源文件(Excel工作簿)和有关参数十分方便,人机对话窗口比较便捷,具有Windows的操作风格。具有通用性,适用各种报表的统计汇总。“工作表复制”功能既是程序中的附属功能,又能独立单独使用,可以在当前工作簿与任何存储位置没有打开的工作簿之间、任意存储位置2个没有打开的工作簿之间进行工作表的复制。有关参数的选择修改均采用了和Excel相统一的菜单模式。不需要打开多个工作簿,不需在多个工作簿之间进行复制、粘贴数据,只是轻松点击菜单即可。对基础工作簿中的工作表和数据源工作表(表报)的格式没有要求,只要被选择为“关键字段”的数据项的对应内容一致即可。用Excel VBA分别编制了“工作表的复制”和“查取未打开工作部数据”过程配合报表数据汇总计算。报表汇总计算过程,设计了报表数据的行、列、数据源报表的数据行列等6个数组作为过程参数。这些过程参数可以手动选择修改,也可以利用相配套的“文件选择”、“数据源工作表选择”和“数据参数选择”等功能,十分便利地选择修改所需要的进行汇总的数据源的报表和其数据起始行、数据项的列等参数。该过程能够进行Excel格式任何格式的表格汇总,不受汇总表及数据源报表格式的限制;也就是说汇总表的格式与数据源报表的格式可以相同也可以不同,只要是Excel格式的表格就可进行汇总计算。其次,不受文件所存的目录限制。可以选择任意硬盘(含本地活动硬盘)目录的文件,进行汇总计算。可以随时进行数据源报表的选择修改,十分便利操作。

3)实用性分析。

铁路建设项目管理中(无论是施工方还是业主方)项目部是项目管理的责任主体,是项目管理各项制度、规范的直接执行者、管理者和监督者。在物资管理、合同管理、计划管理、投资管理和计价(进度)管理中具有现场管理核心作用,连接项目和本公司(组织)的纽带作用,对项目实施的各方有指导、监督、管理职责。。仅就投资管理中的“投资报表”的上报过程来看,施工方项目部具有收集、分析、审核、整理本项目各部门(项目队或工区)的报表资料,分析所收到报表的准确性、正确性、合理性,整理汇总形成本项目部的上报报表资料。同样,业主方的项目部也不仅仅是简单地将(辖区)各施工单位的表报进行简单汇总,而必须对所接收的报表进行分析、审核。因而,项目部相关管理人员的报表统计工作比较繁杂。该程序能够将管理人员从报表的汇总计算的反复“打开文件、选择区域复制、粘贴”的繁杂工作解脱出来,既保证了数据汇总计算的准确性,又使得管理人员更有时间精力分析、审核收到报表的准确性、合理性,提高管理的质量和管理效益。该程序可以应用于项目管理中任何层面管理的报表统计汇总,只要是利用Excel表格的汇总,均适用,使用范围比较广。另外,该程序不需要任何培训,对使用者没有特殊要求,只要会使用Excel即可。