CN105183705A - 一种运用vba代码自动编制工程资料目录的方法 - Google Patents
一种运用vba代码自动编制工程资料目录的方法 Download PDFInfo
- Publication number
- CN105183705A CN105183705A CN201510667203.0A CN201510667203A CN105183705A CN 105183705 A CN105183705 A CN 105183705A CN 201510667203 A CN201510667203 A CN 201510667203A CN 105183705 A CN105183705 A CN 105183705A
- Authority
- CN
- China
- Prior art keywords
- data
- vba
- module
- catalogue
- engineering data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种利用VBA在Excel中自动编制竣工资料卷内目录的方法,采用新建宏模块,运用VBA程序InputBox等数据输入功能、VLookup函数等数据读取功能与Excel原有台账的数据交流,运用Visual?Basic语言引用、分析、判断和处理数据,实现一键按固定格式生成目录,一键打印等功能。本发明和现有技术相比,可以规避对照台账一次次手动输入的繁琐操作,避免了成千上万次的输入重复数据可能导致的疲劳,反感,进而造成出错的概率。本发明可以数量级地提升工作效率,且后期无需对资料格式进行任何调整,并可对相应可执行格式进行预设。
Description
技术领域
本发明涉及一种利用VBA在Excel中自动编制工程资料各类目录的方法,特别是像灌浆资料元评定资料、断面图资料、三检资料等一些台账明确,但数据量极大,而格式要求又特别严格的卷内目录资料编制或录入。
背景技术
竣工资料的目录编制是一项简单但是重复性很大的工作,当前工程技术人员对竣工资料卷内目录编制基本为对照台账手动输入的方法,或者复制粘贴对应数据,对于大型工程,传统方法存在以下缺点:
(1)复制粘贴后格式变化较大,后期调动格式繁琐麻烦;
(2)工作量巨大,技术人员资料处理压力大,重复繁杂工作多;
(3)成千上万次人工处理相同操作容易对疲劳、反感,甚至出错频繁。
发明内容
本发明要解决的技术问题是:提供一种自动编制工程资料各类目录的方法,利用VBA在Excel中实现台帐数据的交换处理,自动生成固定格式的标准目录,精准快捷地完成卷内目录编制工作。
本发明的技术方案是:利用Excel中的VBA模块采集原有台账中的数据,经过引用、分析、判断和处理后自动生成规定格式的工资料卷内目录,具体来说,本发明包括以下步骤:
①制作符合目录标准格式的工作表,复制粘贴原有台帐到被引用位置:在Excel中制作符合目录标准格式的工作表,并将现有台帐复制粘贴到被引用位置;
②编写VBA模块,处理目录工作表与原有台帐间的数据引用关系:在VisualBasic编辑器中新建“生成目录”宏模块,编写VBA代码,配合包括InputBox函数(数据输入功能)、VLookup函数(数据查询读取功能)与被引用位置中的现有台账进行数据引用、分析、判断和处理;
③在目录工作表中添加功能控件,匹配相应的操作模块:在工作表中添加加载步骤②中“生成目录”宏模块的按钮控件。
上述步骤②和③中包括利用MsgBox函数实现的操作提示模块。
上述步骤③中的操作模块包括目录清空模块,打印预览模块和一键打印模块。
与现有技术比较,本发明能够避免大量的复制粘贴操作和格式调整操作,由于利用了VBA语言,实现了大量数据的自动采集处理,大大减少了操作人员的工作量,避免了因操作人员疲劳造成的数据录入错误,遗漏等情况发生。
附图说明
图1为本发明的流程示意图。
具体实施方式
下面以灌浆资料为例,详细描述本发明的实施方法:
1、打开Excel文件,建立一个固定格式的目录标准文件工作表(sheet1),将原有台账(包含所有原始数据)复制粘贴至另一张工作表(sheet2).
2、打开Excel中VisualBasic编辑器,新建一个宏模块,写入代码(本模块以灌浆资料为例,其余参数可根据台账名称改变一次相应的名称即可使用,也可根据台账的列位置不同改变range中字母,行位置不同改变range单元格中数字即可通用),代码如下:
Submulu()‘定义宏名称为目录(mulu)
Dimdyh,zdmc,sxy,khAsString,n,i,j,ym,yys,eysAsInteger,zhAsVariant,rqAsDate‘定义各变量
dyh=InputBox("请输入单元号","单元孔号","9S01G")
‘手动输入单元孔号
n=InputBox("本单元总孔数","总孔数","72")
‘手动本单元总孔数
yys=InputBox("请输入本单元每个一序孔资料页数","每个一序孔资料页数","6")
‘手动输入一序孔页码,默认值为6
eys=InputBox("请输入本单元每个二序孔资料页数","每个一序孔资料页数","4")
‘手动输入二序页码,默认值为4
IfMid(dyh,1,1)=9Then
zdmc="9#施工支洞"
Else:zdmc="14#施工支洞"
EndIf
Ifzdmc="9#施工支洞"AndMid(dyh,2,1)="S"Then
sxy="上游"
ElseIfzmmc="9#施工支洞"AndMid(dyh,2,1)="X"Then
sxy="下游"
ElseIfMid(dyh,3,1)="S"Thensxy="上游"
Else:sxy="下游"
EndIf
‘此段为判断各孔工程部位,因本工程存在2个支洞,采用判断语句,若zdmc首字母为9则为9#施工支洞,否则else则为14#施工支洞
Fori=1Ton/2Step1(此部为一序孔目录)
‘建立循环函数
Ifi<5Then
kh=dyh&0&2*i
Else:kh=dyh&2*i
EndIf
zh=Application.WorksheetFunction.VLookup(kh,Sheets("Sheet2").Range("a1:z2000"),2,False)
rq=Application.WorksheetFunction.VLookup(kh,Sheets("Sheet2").Range("a1:z2000"),3,False)
‘采用vlookup函数根据台账确定桩号和日期
ym=1+(i-1)*yys
Range("e"&i+2)="***隧洞"&zdmc&sxy&Int(zh/1000)&"+"&zhMod1000&"."&zh*100Mod100&"固结灌浆"&kh&"基础资料"
‘整合此单元格中各项内容成型
Range("f"&i+2)=rq
Range("G"&i+2)=ym
Range("f"&i+2).NumberFormat="yyyymmdd"
‘将日期和页码赋值入excel设定日期格式
Nexti
Forj=1Ton/2Step1(此部为2序孔赋值)
Ifj<5Then
kh=dyh&0&2*j-1
Else:kh=dyh&2*j-1
EndIf
zh=Application.WorksheetFunction.VLookup("kh",Sheets("Sheet2").Range("a1:z2000"),2,1)
rq=Application.WorksheetFunction.VLookup("kh",Sheets("Sheet2").Range("a1:z2000"),3,1)
ym=1+(j-1)*eys+yys*n/2
NumberFormat="yyyy-m-d"
Range("e"&n/2+j+2)="***隧洞"&zdmc&sxy&Int(zh/1000)&"+"&zhMod1000&"."&zh*100Mod100&"固结灌浆"&kh&"基础资料"
Range("f"&n/2+j+2)=rq
Range("G"&n/2+j+2)=ym
Range("f"&n/2+j+2).NumberFormat="yyyymmdd"
重复操作为2序孔赋值
Nextj
EndSub
3、在Excel中开发工具中插入command控件,命名为“制作目录”并加载步骤2中编写的宏模块。
4、单击“制作目录”的command控件,弹出msgbox提示“输入单元号”,输入单元号。
5、弹出msgbox提示“输入单元总孔数”,输入此单元总孔数。
6、弹出msgbox提示“一序孔页数”,输入一序孔页数,弹出msgbox提示“二序孔页数”,输入二序孔页数。
7、自动生成了本单元目录文件,生成第二单元重复输入单元号、总孔数、页数即可,数秒可以完成一个单元竣工目录编制工作。
8、增加清空模块清空上一个单元的数据,具体代码如下:
SubMacro1()
Range("C3:H74").Select
Selection.ClearContents
EndSub
通过此代码,可以一键删除刚生成数据,减少选取再删除数据的时间。
9、设置一键打印功能模块,代码如下:
SubMacro3()
ExecuteExcel4Macro"PRINT(1,,,1,,,,,,,,2,,,TRUE,,FALSE)"
EndSub
本发明根据相应模块对应的控件按钮可以自动根据台账生成每个单元的卷内目录,空表直接变成了可以打印的卷内目录,大大简化技术人员工作量,而且数据根据原来电子版台账生成,精准率高,适应于工作量极大的竣工资料目录整编。
Claims (4)
1.一种运用VBA代码自动编制工程资料目录的方法,其特征在于包括以下步骤:
①制作符合目录标准格式的工作表,复制粘贴原有台帐到被引用位置;
②编写VBA模块,处理目录工作表与原有台帐间的数据引用关系;
③在目录工作表中添加功能控件,匹配相应的操作模块。
2.根据权利要求1所述的一种运用VBA代码自动编制工程资料目录的方法,其特征在于:所述步骤②和③中包括操作提示模块。
3.根据权利要求1所述的一种运用VBA代码自动编制工程资料目录的方法,其特征在于:所述步骤②中通过InputBox函数和VLookup函数实现工作表单元格的数据实时交互。
4.根据权利要求1所述的一种运用VBA代码自动编制工程资料目录的方法,其特征在于:所述步骤③中的操作模块包括目录清空模块,打印预览模块和一键打印模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510667203.0A CN105183705A (zh) | 2015-10-16 | 2015-10-16 | 一种运用vba代码自动编制工程资料目录的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510667203.0A CN105183705A (zh) | 2015-10-16 | 2015-10-16 | 一种运用vba代码自动编制工程资料目录的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105183705A true CN105183705A (zh) | 2015-12-23 |
Family
ID=54905794
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510667203.0A Pending CN105183705A (zh) | 2015-10-16 | 2015-10-16 | 一种运用vba代码自动编制工程资料目录的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105183705A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106445897A (zh) * | 2016-08-30 | 2017-02-22 | 亚洲硅业(青海)有限公司 | 自动填充数据信息并自动判断产品等级的方法 |
CN109325738A (zh) * | 2018-09-17 | 2019-02-12 | 广东电网有限责任公司 | 文件运转台账的记录方法、装置及电子设备 |
CN109669933A (zh) * | 2018-12-10 | 2019-04-23 | 平安科技(深圳)有限公司 | 交易数据智能处理方法、装置及计算机可读存储介质 |
CN110119503A (zh) * | 2019-05-21 | 2019-08-13 | 遵义院士工作中心 | 一种基于Excel的规划项目多类数据报表与格式编辑方法 |
CN111507077A (zh) * | 2020-03-17 | 2020-08-07 | 唐山钢铁集团高强汽车板有限公司 | 一种镀锌出口生产记录自动生成的方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20080032281A (ko) * | 2006-10-09 | 2008-04-15 | 김부성 | 자동 맞춤법 검사기 |
CN102622336A (zh) * | 2012-02-28 | 2012-08-01 | 上海万得信息技术股份有限公司 | 一种基于互联网的Excel插件数据批量提取系统及方法 |
CN103399924A (zh) * | 2013-08-05 | 2013-11-20 | 河海大学 | 一种水文水资源数据目录生成系统及方法 |
CN104391832A (zh) * | 2014-11-18 | 2015-03-04 | 浪潮电子信息产业股份有限公司 | 一种利用vba实现多个excel数据表合并数据的方法 |
-
2015
- 2015-10-16 CN CN201510667203.0A patent/CN105183705A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20080032281A (ko) * | 2006-10-09 | 2008-04-15 | 김부성 | 자동 맞춤법 검사기 |
CN102622336A (zh) * | 2012-02-28 | 2012-08-01 | 上海万得信息技术股份有限公司 | 一种基于互联网的Excel插件数据批量提取系统及方法 |
CN103399924A (zh) * | 2013-08-05 | 2013-11-20 | 河海大学 | 一种水文水资源数据目录生成系统及方法 |
CN104391832A (zh) * | 2014-11-18 | 2015-03-04 | 浪潮电子信息产业股份有限公司 | 一种利用vba实现多个excel数据表合并数据的方法 |
Non-Patent Citations (1)
Title |
---|
孙杰 等: "EXCEL 中的VBA 在档案整理过程中的应用——利用VBA 进行繁琐的文件目录生成", 《办公室业务》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106445897A (zh) * | 2016-08-30 | 2017-02-22 | 亚洲硅业(青海)有限公司 | 自动填充数据信息并自动判断产品等级的方法 |
CN109325738A (zh) * | 2018-09-17 | 2019-02-12 | 广东电网有限责任公司 | 文件运转台账的记录方法、装置及电子设备 |
CN109669933A (zh) * | 2018-12-10 | 2019-04-23 | 平安科技(深圳)有限公司 | 交易数据智能处理方法、装置及计算机可读存储介质 |
CN109669933B (zh) * | 2018-12-10 | 2023-10-27 | 平安科技(深圳)有限公司 | 交易数据智能处理方法、装置及计算机可读存储介质 |
CN110119503A (zh) * | 2019-05-21 | 2019-08-13 | 遵义院士工作中心 | 一种基于Excel的规划项目多类数据报表与格式编辑方法 |
CN110119503B (zh) * | 2019-05-21 | 2023-11-24 | 遵义院士工作中心 | 一种基于Excel的规划项目多类数据报表与格式编辑方法 |
CN111507077A (zh) * | 2020-03-17 | 2020-08-07 | 唐山钢铁集团高强汽车板有限公司 | 一种镀锌出口生产记录自动生成的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105183705A (zh) | 一种运用vba代码自动编制工程资料目录的方法 | |
CN106445536B (zh) | 自动化业务设计管理系统 | |
CN109558126B (zh) | 表单设计器 | |
US20200042588A1 (en) | User Interface Tools and Methods Facilitating Data Transformations and Coding | |
CN103488484A (zh) | 一种在线编辑器的软件实现方法及系统 | |
CN110110985B (zh) | 一种生产记录方法和记录装置 | |
CN107688557A (zh) | 排版方法、排版系统和终端 | |
CN105867820A (zh) | 用于触摸屏的文本编辑方法和装置 | |
CN102087657A (zh) | 一种用于核电站仿真平台的io对点方法和io对点装置 | |
US7197696B1 (en) | System, method and computer program product to populate data into spreadsheets and execute functions and programs within the same | |
CN112052653A (zh) | 一种报表附注信息的填写方法及财务机器人 | |
JP2022041865A (ja) | テンプレートに基づくエクセル文書のオンライン作業システム | |
CN111367939A (zh) | 一种公路工程项目台帐编制与管理系统及方法、计算机 | |
CN101976394A (zh) | 数据采集和统计系统及方法 | |
KR100982527B1 (ko) | 통합 블록정도 관리 시스템 및 방법 | |
CN111208956B (zh) | 一种根据打印模板实现电子公文表单打印的方法及系统 | |
CN109086985B (zh) | 面向航天器总装的专业测试信息管理系统 | |
CN103870003A (zh) | 一种信息处理方法及电子设备 | |
CN105023139A (zh) | 一种企业质量数据现场采集方法和装置 | |
CN113269518A (zh) | 一种项目的工程变更的审核和签批方法及终端 | |
KR101022716B1 (ko) | 전자문서 자동생성시스템 및 자동생성방법 | |
JP2007164503A (ja) | システム生産方法、システム生産システム、システム生産プログラムおよびシステム生産に用いられる定義体情報のデータ構造 | |
CN103177064B (zh) | 一种自动取录电子文档中指定内容的方法 | |
CN105045774A (zh) | 一种所见即所得的用户界面操作手册编写及生成方法 | |
US20050262040A1 (en) | Software Systems and Methods for Programmatically creating Graphical and Text Elements using OLE and/or Macro Functionality of Commercially Available Software Applications in the Background |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20151223 |
|
WD01 | Invention patent application deemed withdrawn after publication |