APP下载

利用Excel VBA进行工程量计算统计程序的研发

2021-10-13熊平华徐利霞

山西建筑 2021年20期
关键词:汇总表分部列表

熊平华,徐利霞

(中国电建集团华东勘测设计研究院有限公司,浙江 杭州 311122)

1 概述

对于工程设计及管理人员而言,进行工程量计算是一项不可或缺的工作。工程量是设计图纸的量化体现,直接关系到工程投资、资源投入等多方面,因此工程量计算要务求准确。在实际实施过程中,工程量计算是方案、图纸的下序工作,并且受项目的工作阶段、管理团队及业主要求、统计口径等影响较大,经常需要更新调整,工作比较烦琐。目前水电工程行业的工程量计算遵循《水电工程设计工程量计算规定》(2010年版)[1],规范中按分部分项工程的思路对水电工程的工程量项目进行了划分,并对工程量的计量单位和计算方法进行了规定。现实中对于一个装机1 000 MW的水电站工程,划分的分部工程(如大坝、进厂交通洞等)及分项工程(如土方明挖、石方洞挖、支护、混凝土等)组合多达数百项,涉及到十余个子专业,工程量计算书及工程量项目多达数千项,项目管理层面要进行分类统计实属不易。利用Excel办公软件进行工程量计算是一项基本操作,通过Excel的各类函数,查询和替换等功能能提高工作效率,但由于工作习惯、个人爱好等原因,工程量计算表也呈现出“百花齐放、百家争鸣”的状态,难于重复利用,也不易进行归并组合。本课题基于上述痛点,对Excel工程量计算表格格式进行了标准化设计,并通过Excel VBA二次开发,主要解决了工程量计算过程中的表格格式统一、自动化统计等问题,实现了工程量列表项自适应调整、主要工程量项目总统计和按分部工程统计、项目特征自动化充填等功能,较大程度地降低了烦琐重复的工程量以及出错概率,极大地提高了工作效率。

2 工程量计算表格设计

工程量计算表格包括1张《项目定义》sheet和若干分部工程量计算表(后文简称计算sheet)组成。《项目定义》sheet规定了要参与工程量计算统计的内容和组成,各计算sheet为各分部工程的工程量具体计算。

2.1 《项目定义》sheet的设计

《项目定义》sheet主要由“项目定义”区、“单位工程量汇总表”区、“分部工程大项统计汇总表”区、“分部分项工程量列表”区等4个区域和1个按钮组成。

1)“项目定义”区。“项目定义”区中对分部工程、分项工程、主要工程量项目进行了划分,划分依据主要参照设计图纸、招标文件、项目及业主要求、工程经验、类似工程的分部分项工程划分资料等,如图1所示。其中规定:a.“分部工程”列、“分项工程”列、“主要工程量项目”列中的内容只能从上到下依次排列,不能间断。b.“分部工程”列中每行对应一个计算sheet,如图1中的“主变洞”工程和“地面开关站”工程,程序将自动把各计算sheet按照“分部工程”列的列表顺序排列;如“分部工程”列中有空白行,则空白行以下的分部工程将不会进行统计,如果该分部工程的计算sheet原本存在的话,程序会将该计算sheet移动到最右侧,如图1中的“母线洞”工程;程序也不会删除表格中原来已存在的计算sheet,当然其也不会参与到工程量统计中,如图1中的“交通电缆洞”sheet。c.“分项工程”列对应计算sheet中的“分项工程”列,以下拉列表方式展示,如图2所示。如“分项工程”列中有空白行,则下拉列表只呈现空白行之前的分项工程。d.“主要工程量项目”列对应《项目定义》表中“单位工程汇总表”区中“所属大项”列,以下拉列表方式展示,如图3所示。如“主要工程量项目”列中有空白行,则下拉列表只呈现空白行之前的主要工程量项目。

2)“单位工程量汇总表”区。“单位工程汇总表”区列出了所有分部工程的工程量计算结果,表头包含“序号”列、“项目”列、“项目特征”列、“所属大项”列、“单位”列、各分部工程列、“合计”列等,按矩阵方式显示所有分部工程的所有工程量项目,如图3所示。如果需要的话,用户可以定义工程量项目所属的大项也即是主要工程量,采用下拉列表方式由用户定义,如图3所示,那么程序将对主要工程量项目进行计算统计,否则将不进行统计。如果需要的话,用户可以定义工程量项目的项目特征,如图3所示,对工程量项目进行细节说明,那么程序会将该项目特征分发到“分部分项工程量列表”区中,见图4中的“项目特征”列。在该汇总表中可以随意编辑工程量项目行的位置,推荐按开挖、支护、混凝土即分项工程的顺序排列,程序会在后续更新过程保留已编辑的顺序。

3)“分部工程大项统计汇总表”区。“分部工程大项统计汇总表”区列出了所有分部工程的大项即主要工程量项目的工程量数据,表头包含“大项”列、“单位”列、各分部工程列、“合计”列等,如图5所示。其“合计”列的值即为“项目定义”区(如图1所示)的主要工程量项目的数据。

4)“分部分项工程量列表”区。“分部分项工程量列表”区为各分部工程以此按分项工程列表顺序排列的工程量数据,表头包含“序号”列、“项目名称”列、“项目特征”列、“单位”列、“工程量”列等,可作为工程量计算的成果清单,见图4。

5)运算按钮。运算按钮是用户对程序发出命令的入口,通过点击“更新工程量汇总表”按钮,程序即对工程量计算表进行数据统计及更新。

2.2 计算sheet的设计

计算sheet定义了计算过程和结果,表格式见图2。表格由用户输入的计算参数区(包括“项目”列、“设计参数”列、“数据”列、“单位”列组成)、中间成果区(由“数值”列、“单位”列组成)、计算成果区(由“分项工程”列、“工程量项目”列、“随机系数”列、“阶段系数”列、“数据”列、“单位”列组成)三部分组成。该表格需要用户自定义计算过程,数据由用户负责。其中“分项工程”列用下拉列表方式呈现,见图2,由用户定义,且必须定义,那么程序会将该工程量项目归并到《项目定义》表“分部分项工程量列表”区中,见图4。

3 工程量计算表格统计运算逻辑

按上述思路对《项目定义》sheet和计算sheet进行标准化设计后,在《项目定义》sheet的“项目定义”区中,经过用户定义,获得了某个项目划分的分部工程、分项工程、主要工程量项目等条目,同时在单个计算sheet中,有具体的工程量项目的分部工程、分项工程定义,那么只需要通过VBA程序循环读取所有计算sheet的计算成果区,即可以获得所有分部工程、分项工程对应的工程量项目。

《项目定义》表中除了“项目定义”区外,其他的如“单位工程量汇总表”区、“分部工程大项统计汇总表”区、“分部分项工程量列表”区均在运算过程中自动生成或者更新。

4 程序增强功能及高级用法

本工程量计算统计程序除了能利用Excel的所有功能外,还额外提供了高级查找与替换功能,方便用户编辑工程量计算表格,同时提供了很多纠错提示,大大提高了易用性和工作效率。

4.1 高级查找与替换功能

高级查找与替换功能主要实现了以两个单元格内容作为组合条件进行查找和替换修改的能力,方便用户对各类参数或数据进行关联调整,如图6所示。

4.2 纠错能力

程序对于用户偶然的错误输入,如工程量项目在上下文中的单位、所属的分项工程定义不一致等情况下提供了一定的纠错预警能力,如图7,图8所示。

4.3 新建计算sheet

当用户需要新增分部工程也即需要新建计算sheet时(见图9),只需要在《项目定义》sheet中的“项目定义”区的“分部工程”列中添加行即可,点击按钮程序将生成一张带格式的空白sheet,并且按“分部工程”列的顺序插入到工作簿中,用户只需要在该sheet中编辑工程量计算书即可。

4.4 分部工程自由组合统计

如2.1节所述,《项目定义》sheet的“项目定义”区是本工程量计算统计程序的核心,用户只需要对“分部工程”列等内容进行编辑即可以快捷进行各分部工程的自由组合及统计,而无需拆分成多个计算表格。

同理,只要同一个项目的相关专业设计人员均采用本标准化表格进行工程量计算,那么项目管理人员也可以很便捷地将多个专业的工程量计算表格合并起来(注:采用Excel的sheet表的“移动或复制”命令),再对“分部工程”列等内容进行编辑,即可以实现项目层级的工程量统计。

5 结语

工程量计算及统计是设计人员一项重要且烦琐的工作,本课题通过对工程量计算表进行了标准化设计,并利用Excel VBA二次开发,实现了工程量按分部分项工程自动汇总、统计,实现了主要工程量的自动统计,实现了工程量清单的自动生成,极大的减少了烦琐工作量,提高了工作效率,也保证了工程量成果的准确性。经本人及团队应用实践,坚持利用此工程量统计程序进行某个项目的工程量计算统计,对于工程量的阶段性复核、调概统计、设计修改导致的工程量追踪等方面都大有益处。并且工程量计算表格式标准化后,可以提取表格计算片段,快速实现类似工程的工程量计算编辑,工作速度和效率大大加快。另外,因本工程量计算统计程序针对的是本标准化计算表格,不受限于某个专业或工程领域,理论上任何工程行业,如水利水电工程[2]、房屋建筑与装饰工程[3]、城市轨道交通工程[4]、市政工程[5]、通用安装工程[6]、电力建设工程[7-8]等均采用了分部分项工程的思想对工程量进行管理,均可以采用本工程量计算统计程序进行工程量计算及管理,应用前景极为广阔。

猜你喜欢

汇总表分部列表
2022年7月板带材产量汇总表
2022年6月板带材产量汇总表
2022年3月板带材产量汇总表
学习运用列表法
扩列吧
2019年河南省水土流失治理统计汇总表(本年达到)
中国世界遗产分部图
关于正整数不含分部量2的有序分拆的几个组合双射
分部积分公式的解题技巧
关于分部积分的几点说明