Excel宏在农村土地承包经营权建库中的应用
2019-04-04严胜华王紫燕
严胜华 王紫燕
摘 要:通过excel宏的VBA二次开发功能,编写Excel宏二次开发实例,实现快捷、准确、高效的处理有规则的数据,大大的提高了确权登记数据库建库的效率。
关键词:excel宏,VBA二次开发,农村土地承包经营权建库
1.引言
有序开展农村土地承包经营权确权登记发证,有利于落实党的强农惠农政策,有利于发展现代农业。通过开展确权登记,可以明确农村土地的地块界线、面积大小、具体位置,有利于保护好耕地,保障13亿人的吃饭问题;有利于国家依据登记的数据有针对性的制订和落实一系列的强农惠农政策,拟定现代农业发展规划,出台促进土地流转的政策措施,促进农业稳定发展和拓宽农民持续增收渠道;通过引导土地承包经营权的规范流转,在坚持家庭经营基础上,大力促进种田大户、合作社、家庭农场等新型农业经营主体的發育、壮大,实现规模经营,着力解决“将来谁来种地”的问题。所以做好农村土地承包经营权确权颁证工作意义重大,而如何快速准确有效地建好数据库是确权颁证中重要的关键的一步。
2.excel宏在建库中的应用
数据整理入库是建立一个高效实用的土地承包经营权管理系统的关键一环。
建库包括新建空库、Mapgis转shp、匹配制作地块属性表、承包方、家族成员整理、制作承包地块信息表、制作共有地块信息表、数据库维护、出成果、打证、成果整理归档等。
分析农经权发证流程,制约入库效率的主要有入库前相关表格的制作(地块属性表、承包方表、家庭成员表、地块信息表、共有地块信息表)和打印经营权证。因为这些数据有一定的规则,整理这些表利用excel宏编程来批量处理有规则数据的功能,编写相应的代码,可以快速准确处理好这些表格数据。
3.建库中用到的excel宏实例
3.1 “单共宗汇总”实例
经过二轮公示后地块数据是分别按单宗各组、共宗各组分别存放在不同的表单中的,需要把这些单宗各组数据汇总在一张表格里,共宗各组数据汇总在一张表里。
“单宗汇总”流程如下:1、新建“单宗”表单;2、读取B列有几行记为j行;3、选定A~O列,2~j行单元格;4、复制;5、选定“单宗”表单最后一行,第一列;6、粘贴;7、保存。
“共宗汇总”流程:1:判断是否有“共宗”表单;2、如果是“是”,则不处理;如果是“否”,则进行下一步;3、新建“共宗”表单;4、读取B列有几行记为j行;5、选选定A~O列,2~j行单元格;6、复制;7、选定“共宗”表单最后一行,第一列;8、粘贴;9、打开另一个共宗表单,重复4~8步。
实现过程:(1)首先设置宏安全性为中级或低级,点击“工具”->“宏”->“宏安全性”->“安全级”选项卡->“中”或“低”。这个只是初次使用excel的VBA编程时设置好就可以,以后就不用设置。(2)创建新宏。“工具”->“宏”->“录制新宏”,在弹出的对话框对应项中分别输入宏名称和实现的快捷键之后,点“确定”。(3)编写代码。“工具”->“宏”->“visual basic编辑器”或者按“Alt+F11” 即进入代码编写区。点“模块1”,在对应宏名下面编写代码,并作相应调试。
如果这个部分代码不会写,可以新建录制一个宏,作相应操作,结束宏,到相应的代码区去查看代码,并复制代码到目标代码区作出相应更改调试。
在“1”表单的S1、T1、U1单元格里分别输入起始组号、终止组号和共宗后缀名“确权”,按“Alt+F8”运行程序,便可得到结果。
3.2 “按上面填充”实例
承包方名下一般都有好几块地块,当用excel合并单元格的功能把承包方打散时,承包方的名字只显示在他第一块地块编码位置,需要把其他属于他的地块相应位置填充为他的名字。为解决这个问题,编写了“按上面填充”小程序,代码如下:
Sub 按上行填充()
Dim i As Integer, j As Integer, k As Integer
For i = 2 To Range("b" & Rows.Count).End(xlUp).Row
j = 0
If Cells(i, 1) <> "" Then '求相同个数j
k = 2
k = i
End If
Cells(i, 1) = Cells(k, 1)
Next i
End Sub
3.3共宗人名汇聚和共有人承包比例、面积计算
对于共宗地块有两个问题:(1)共宗是一个地块编码对应多个承包方,怎么把多个承包方汇集到一个单元格里用“、”连接在一起。手工一个个去复制肯定费时费事还容易出错;(2)如何批量的计算同一地块共有人的承包比例。
解决思路:1、判断本地块号和下一地块号是否相同;2、如果“否”则标记第一个相同地块号所在行号并对比下一个;3、如果“是”,则进行下面;4、进行赋值:权利人=权利人+“、承包方”;5、标记计数第i个承包方;6、汇总累加相同地块号合同面积;7、进行承包比例计算:
新建宏,在相应的代码区编写代码,并调试。
运行:把地块编码复制到B列,合同面积复制到G列,权利人复制到K列,按“Alt+F8”运行,得到了相应结果。
3.4 批量打证
经营权证是一个包含有4个表单的excel文件,打印时要依次打开承包方的经营权证打印文件,再依次打开里面“NO1”、“NO2-NO3”、“NO4-NO5”、“NO6-NO7”这4个表单,并每打开一个表单点一下打印按钮,然后塞证打印。
传统打印方法存在的问题有:
(1)要想打的快一般是先多次点打印按钮,发布多个打印的命令,然后塞证打印。如果打证员中途休息或干扰,就不知道打到哪一页,容易造成错打或者漏打。(2)存在有的承包方没有地,承包面积0块0亩,怎样删除这些不用打证的文件?(3)存在有的承包方有好多地,除了第3、4页表单要打印,还要打印“附页1-2”附页“3-4”表单的有哪些文件呢?
可不可以设置程序按打证文件的顺序一次发布多个打印文件,然后直接塞证打印呢?为解决这个问题,提出了下面的思路:
根据这个流程图,编写相应代码,并调试出了“打证VB”这个批量打证的小程序。
4.分析
“单共宗汇总”、“按上面填充”、“共宗人名汇聚和共有人承包比例、分推面积计算”、“批量打证”等实例应用前的正确率分别是98%、95%、75%、70%,消耗时间与表里的数量成正比,应用实例后正确率达到100%,时间消耗分别约1.5分、0.5分、1分、2分(批量打证时间消耗指的是发布打证命令的时间)
可以看出,在应用四个实例前人工处理这些表格消耗的时间与小组数、数据量的大小成正比,而且处理数据时精神得高度集中(第三和第四个实例尤其如此)才能保证正确率。应用实例后,只要数据按程序设定的规则准备好,处理好这些数据仅仅耗用一两分钟而已,正确率也有很大的保障,大大的提高了入库的效率和正确率。
5.结论
本文通过“单共宗汇总”、“按上面填充”、“共宗人名汇聚”、“共有人承包比例计算”、“批量打证”这四个用Excel宏VBA二次开发的实例,介绍了Excel宏编写小程序的方法,并在实践中应用,实现准确、高效、快捷的处理有规则的数据,大大的提高了建库的效率。Excel宏的开放的二次开发接口对从事建库工作人员有很好的借鉴意义,对有效加快农村土地承包经营权的推进有积极的意义。
参考文献
[1]张婉婉等.21天学通visual Basic[M].北京:电子工业出版社,2011.