国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

EXCEL VBA在農村土地承包信息處理中的應用

2019-05-11 07:14:30李芳
智能建筑與智慧城市 2019年4期
關鍵詞:戶主承包人字段

李芳

(四川省煤田地質工程勘察設計研究院)

1 引言

自微軟從Office97開始引入VBA以來,Excel就以其高效的辦公獲得了廣大用戶的青睞,也成為國內用戶至今無法用其他表格軟件完全替代Excel的主要原因。農村土地承包信息因其數據量大,錯誤多而成為土地信息化建設中影響工程進度的主要因素之一。筆者試圖通過對這些信息的比對匹配、信息提取、格式整理等手段,最大限度簡化工作量,提高工作效率。

2 功能設計

2.1 格式整理

現(xiàn)有農村二輪土地承包信息電子表格數據,每行人數不定,最多3個人,有可能有編號但人數為空;第1列為承包編號,2-9列每3列一個人的信息,分別是姓名、性別和出生日期,現(xiàn)為方便信息核對,需要每行只保留一個人的信息。表格樣式(圖1)及核心代碼如下:

n=0

For i = 2 To 9999

For j = 2 To 10 Step 3

If cells(i, j) = "" Then

Exit For

End If

n = n + 1

bh(n) = cells(i, 1) '編號

xm(n) = cells (i, j) '姓名

xb(n) = cells (i, j + 1) '

性別

sr(n) = cells (i, j + 2) '出生日期

Next j

Next i

字段被記錄到數組中,代碼中使用了一個Exit For語句,即巧妙繞開了非法數據,只記錄有效數據到數組中,同時,數組方式記錄可以選擇性輸出需要的字段值。為了縮短運行時間,還可以在外層for循環(huán)加入循環(huán)終止條件,在編號為空時跳出循環(huán)。

2.2 信息比對匹配

已有戶籍信息表,其中缺少二輪承包編號;已有二輪承包信息表,其中缺少身份證號碼和與戶主關系,現(xiàn)需要通過信息比對將二輪承包編號合到戶籍表上。表格樣式(圖2)及核心代碼如下:

For i = 2 To 9999 For j = 2 To 9999

If cells (i, 2) = cells (j, 10)Then

If mid(cells (i, 3) , 7, 8) =cells (j, 12) Then

If cells (i, 5) = cells (j, 11)Then

Cells(i, 1) = Cells(j, 9)

Cells(j, 9) = ""

Cells(j, 10) = ""

圖1 二輪承包信息表

圖2 戶籍信息與承包信息比對匹配

圖3 核對信息表

圖4 承包人信息表

圖5 共有人信息表

Cells(j, 11) = ""

Cells(j, 12) = ""

End If

End If

End If

Next j

Next i

可以采用and語句以減少if語句的使用量,但是可能需要換行連接以便于閱讀。由于二輪承包表上的信息錯誤較多,按此方式能夠完全比對得上的信息實際不到一半,因此可以采用其他既安全又實用的匹配條件再進行二次比對,縮小人為比對的數據量。

2.3 信息提取

在信息核對好后,需要將核對信息表上的承包人(即戶主)信息單獨提取出來,并處理為承包人信息表和共有人信息表,表格樣式(圖3、4、5)及核心代碼如下:

'承包人信息表處理n=0

for i=3 to 9999

If Cells(i, 4) = "戶主" Then

n = n + 1

If n < 10 Then

Cells(i, 9) = s1 & "00" & n

'承包人編碼

End If

If n >= 10 Then

Cells(i, 9) = s1 & "0" & n

'承包人編碼

End If

Cells(i, 10) = Cells(i, 2)

'承包人姓名

Cells(i, 11) = "居民身份證"

'證件名稱

Cells(i, 12) = Cells(i, 3)

'證件號碼

Cells(i, 14) = Mid(Cells(i, 3),7, 8) '出生日期

If Mid(Cells(i, 3), 17, 1) Mod 2= 0 Then

Cells(i, 13) = "2" '性別:1-男,2-女

End If

If Mid(Cells(i, 3), 17, 1) Mod 2= 1 Then

Cells(i, 13) = "1"

End If

End if

Next i

共有人信息表戶主行的處理與承包人信息表類似,只是在共有人行的承包人編碼和承包人姓名的賦值語句略有差別,即:

Cells(i, 9) = Cells(i - 1, 9)'承包人編碼

Cells(i, 10) = Cells(i - 1, 10)'承包人姓名

由于戶主的信息是在每戶的第一行,因此這樣做是可以的?!芭c承包戶關系”列涉及多個數字代碼,可采用塊if語句判斷條件或者采用多分支結構case語句判斷條件再進行單元格賦值。承包人信息表和共有人信息表的字段格式即數據建庫所使用的字段格式,數據的主要整理工作即到此結束。

3 結語

由于農村土地承包基礎信息的錯誤太多,Excel VBA所能做的工作只是部分替代手工勞動,減輕需要人工干預的工作量,在實際工作中,還有許多值得改進和探討的地方,但是從易用性和實施效果等方面綜合考量,Excel VBA不失為一種好的方法,其思路和經驗是值得借鑒和推廣的。

猜你喜歡
戶主承包人字段
圖書館中文圖書編目外包數據質量控制分析
律師解疑
關于《合同法》中“主體結構由施工總承包人自行完成”之規(guī)定的探討
CNMARC304字段和314字段責任附注方式解析
無正題名文獻著錄方法評述
建設單位如何防范承包人施工索賠
關于CNMARC的3--字段改革的必要性與可行性研究
圖書館建設(2014年3期)2014-02-12 15:41:35
漢唐戶主資格的變遷*
張小飛落網記
故事林(2010年18期)2010-05-14 17:29:40
悄悄蒙上你的眼睛
祁连县| 辛集市| 琼海市| 临泽县| 拜城县| 石河子市| 章丘市| 运城市| 鹤山市| 新河县| 北流市| 印江| 侯马市| 炎陵县| 乌鲁木齐县| 常宁市| 南充市| 镇安县| 岳普湖县| 红桥区| 临潭县| 会宁县| 大宁县| 武邑县| 台中市| 庆城县| 西昌市| 祁阳县| 大宁县| 瑞丽市| 土默特左旗| 乌兰察布市| 兰州市| 鄂伦春自治旗| 梁河县| 阿图什市| 六安市| 石门县| 南汇区| 阿拉善盟| 余姚市|