一种运用vba代码自动编制工程资料目录的方法

文档序号:9432526阅读:939来源:国知局
一种运用vba代码自动编制工程资料目录的方法
【技术领域】
[0001]本发明涉及一种利用VBA在Excel中自动编制工程资料各类目录的方法,特别是像灌浆资料元评定资料、断面图资料、三检资料等一些台账明确,但数据量极大,而格式要求又特别严格的卷内目录资料编制或录入。
【背景技术】
[0002]竣工资料的目录编制是一项简单但是重复性很大的工作,当前工程技术人员对竣工资料卷内目录编制基本为对照台账手动输入的方法,或者复制粘贴对应数据,对于大型工程,传统方法存在以下缺点:
(O复制粘贴后格式变化较大,后期调动格式繁琐麻烦;
(2)工作量巨大,技术人员资料处理压力大,重复繁杂工作多;
(3)成千上万次人工处理相同操作容易对疲劳、反感,甚至出错频繁。

【发明内容】

[0003]本发明要解决的技术问题是:提供一种自动编制工程资料各类目录的方法,利用VBA在Excel中实现台帐数据的交换处理,自动生成固定格式的标准目录,精准快捷地完成卷内目录编制工作。
[0004]本发明的技术方案是:利用Excel中的VBA模块采集原有台账中的数据,经过引用、分析、判断和处理后自动生成规定格式的工资料卷内目录,具体来说,本发明包括以下步骤:
①制作符合目录标准格式的工作表,复制粘贴原有台帐到被引用位置:在Excel中制作符合目录标准格式的工作表,并将现有台帐复制粘贴到被引用位置;
②编写VBA模块,处理目录工作表与原有台帐间的数据引用关系:在VisualBasic编辑器中新建“生成目录”宏模块,编写VBA代码,配合包括InputBox函数(数据输入功能)、VLookup函数(数据查询读取功能)与被引用位置中的现有台账进行数据引用、分析、判断和处理;
③在目录工作表中添加功能控件,匹配相应的操作模块:在工作表中添加加载步骤②中“生成目录”宏模块的按钮控件。
[0005]上述步骤②和③中包括利用MsgBox函数实现的操作提示模块。
[0006]上述步骤③中的操作模块包括目录清空模块,打印预览模块和一键打印模块。
[0007]与现有技术比较,本发明能够避免大量的复制粘贴操作和格式调整操作,由于利用了 VBA语言,实现了大量数据的自动采集处理,大大减少了操作人员的工作量,避免了因操作人员疲劳造成的数据录入错误,遗漏等情况发生。
【附图说明】
[0008]图1为本发明的流程示意图。
【具体实施方式】
[0009]下面以灌浆资料为例,详细描述本发明的实施方法:
1、打开Excel文件,建立一个固定格式的目录标准文件工作表(sheetl),将原有台账(包含所有原始数据)复制粘贴至另一张工作表(sheet2).
2、打开Excel中VisualBasic编辑器,新建一个宏模块,写入代码(本模块以灌楽资料为例,其余参数可根据台账名称改变一次相应的名称即可使用,也可根据台账的列位置不同改变range中字母,行位置不同改变range单元格中数字即可通用),代码如下:
SubmuluO‘定义宏名称为目录(mulu)
Dim dyh, zdmc,sxy, kh As String, n,i,j,ym, yys, eys As Integer, zh AsVariant, rq As Date‘定义各变量
dyh = InputBox (〃请输入单元号〃,〃单元孔号〃,"9S01G")
‘手动输入单元孔号n = InputBox (〃本单元总孔数〃,〃总孔数〃,〃72〃)
‘手动本单元总孔数yys = InputBox ("请输入本单元每个一序孔资料页数",〃每个一序孔资料页数〃,〃6〃)
‘手动输入一序孔页码,默认值为6eys = InputBox ("请输入本单元每个二序孔资料页数",〃每个一序孔资料页数〃,〃4〃)
‘手动输入二序页码,默认值为4If Mid (dyh, I, I) = 9 Thenzdmc = 〃9#施工支洞"
Else: zdmc = 〃14# 施工支洞〃
End If
If zdmc = 〃9# 施工支洞〃 And Mid (dyh, 2, I) = 〃S" Then sxy = 〃上游”
ElseIf zmmc = "9# 施工支洞"And Mid (dyh, 2, I) = "X" Thensxy = ”下游”
ElseIf Mid (dyh, 3, I) = 〃S" Then sxy = 〃上游"
Else: sxy = 〃下游〃
End If
‘此段为判断各孔工程部位,因本工程存在2个支洞,采用判断语句,若zdmc首字母为9则为9#施工支洞,否则else则为14#施工支洞For i = I To η / 2 Step I (此部为一序孔目录)
‘建立循环函数 If i < 5 Then kh = dyh & O & 2 * i Else: kh = dyh & 2 * i End If
zh = Application.WorksheetFunction.VLookup (kh,Sheets ("Sheet2") · Range (" al: z2000"),2,False)
rq = Application.WorksheetFunction.VLookup (kh,Sheets ("Sheet2") · Range (" al: z2000"),3,False)
‘采用vlookup函数根据台账确定粧号和日期 ym = I + (i - I)木 yys
Range ("e" & i + 2) = "*** 隧洞 ” & zdmc & sxy & Int (zh / 1000)& 〃+" & zh Mod 1000 & ". 〃 & zh * 100 Mod 100 & 〃 固结灌浆 〃 & kh & 〃 基础资料〃
‘整合此单元格中各项内容成型 Range ("f" & i + 2) = rq Range ("G" & i + 2) = ym
Range ("f,, & i + 2). NumberFormat = "yyyymmdd"
‘将日期和页码赋值入excel设定日期格式
Next i
For j = I To η / 2 Step I (此部为2序孔赋值)
If j < 5 Thenkh = dyh & 0& 2*j_lElse: kh = dyh & 2 * j - IEnd If
zh = Application. WorksheetFunction. VLookup(〃kh〃,Sheets (〃Sheet2〃)·Range Γ al: z2000"),2,I)
rq = Application. WorksheetFunction. VLookup(〃kh〃,Sheets (〃Sheet2〃)·Range Γ al: z2000"),3,I)
ym = I + (j - I) ^ eys + yys ^ n / 2NumberFormat = "yyyy-m-d"
Range ("e" & n/ 2 + j + 2)= "*林隧洞 ” & zdmc & sxy & Int (zh /1000) & 〃+" & zh Mod 1000 & "· 〃 & zh * 100 Mod 100 & 〃 固结灌浆 〃 & kh & 〃 基础资料"
Range ("f" & η / 2 + j + 2) = rqRange ("G" & n / 2 + j + 2) = ym
Range Cf^ & n / 2 + j + 2). NumberFormat = "yyyymmdd"
重复操作为2序孔赋值
Next jEnd Sub
3、在Excel中开发工具中插入command控件,命名为“制作目录”并加载步骤2中编写的宏模块。
[0010]4、单击“制作目录”的command控件,弹出msgbox提示“输入单元号”,输入单元号。
[0011]5、弹出msgbox提示“输入单元总孔数”,输入此单元总孔数。
[0012]6、弹出msgbox提示“一序孔页数”,输入一序孔页数,弹出msgbox提示“二序孔页数”,输入二序孔页数。
[0013]7、自动生成了本单元目录文件,生成第二单元重复输入单元号、总孔数、页数即可,数秒可以完成一个单元竣工目录编制工作。
[0014]8、增加清空模块清空上一个单元的数据,具体代码如下:
Sub Macrol O
Range("C3:H74").SelectSelect1n.ClearContentsEnd Sub
通过此代码,可以一键删除刚生成数据,减少选取再删除数据的时间。
[0015]9、设置一键打印功能模块,代码如下:
Sub Macro3O
ExecuteExce14Macro "PRINT (1,,,1,,,,,,,,2,,, TRUE,, FALSE)"
End Sub
本发明根据相应模块对应的控件按钮可以自动根据台账生成每个单元的卷内目录,空表直接变成了可以打印的卷内目录,大大简化技术人员工作量,而且数据根据原来电子版台账生成,精准率高,适应于工作量极大的竣工资料目录整编。
【主权项】
1.一种运用VBA代码自动编制工程资料目录的方法,其特征在于包括以下步骤: ①制作符合目录标准格式的工作表,复制粘贴原有台帐到被引用位置; ②编写VBA模块,处理目录工作表与原有台帐间的数据引用关系; ③在目录工作表中添加功能控件,匹配相应的操作模块。2.根据权利要求1所述的一种运用VBA代码自动编制工程资料目录的方法,其特征在于:所述步骤②和③中包括操作提示模块。3.根据权利要求1所述的一种运用VBA代码自动编制工程资料目录的方法,其特征在于:所述步骤②中通过InputBox函数和VLookup函数实现工作表单元格的数据实时交互。4.根据权利要求1所述的一种运用VBA代码自动编制工程资料目录的方法,其特征在于:所述步骤③中的操作模块包括目录清空模块,打印预览模块和一键打印模块。
【专利摘要】本发明公开了一种利用VBA在Excel中自动编制竣工资料卷内目录的方法,采用新建宏模块,运用VBA程序InputBox等数据输入功能、VLookup函数等数据读取功能与Excel原有台账的数据交流,运用Visual?Basic语言引用、分析、判断和处理数据,实现一键按固定格式生成目录,一键打印等功能。本发明和现有技术相比,可以规避对照台账一次次手动输入的繁琐操作,避免了成千上万次的输入重复数据可能导致的疲劳,反感,进而造成出错的概率。本发明可以数量级地提升工作效率,且后期无需对资料格式进行任何调整,并可对相应可执行格式进行预设。
【IPC分类】G06F17/22
【公开号】CN105183705
【申请号】CN201510667203
【发明人】夏圣斌
【申请人】中铁五局(集团)有限公司, 中铁五局集团第五工程有限责任公司
【公开日】2015年12月23日
【申请日】2015年10月16日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1