嚴勝華 王紫燕
摘? 要:通過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.