• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    EXCEL VBA在農(nóng)村土地承包信息處理中的應(yīng)用

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

    李芳

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

    1 引言

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

    2 功能設(shè)計

    2.1 格式整理

    現(xiàn)有農(nóng)村二輪土地承包信息電子表格數(shù)據(jù),每行人數(shù)不定,最多3個人,有可能有編號但人數(shù)為空;第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

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

    2.2 信息比對匹配

    已有戶籍信息表,其中缺少二輪承包編號;已有二輪承包信息表,其中缺少身份證號碼和與戶主關(guān)系,現(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語句的使用量,但是可能需要換行連接以便于閱讀。由于二輪承包表上的信息錯誤較多,按此方式能夠完全比對得上的信息實際不到一半,因此可以采用其他既安全又實用的匹配條件再進行二次比對,縮小人為比對的數(shù)據(jù)量。

    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承包戶關(guān)系”列涉及多個數(shù)字代碼,可采用塊if語句判斷條件或者采用多分支結(jié)構(gòu)case語句判斷條件再進行單元格賦值。承包人信息表和共有人信息表的字段格式即數(shù)據(jù)建庫所使用的字段格式,數(shù)據(jù)的主要整理工作即到此結(jié)束。

    3 結(jié)語

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

    猜你喜歡
    戶主承包人字段
    圖書館中文圖書編目外包數(shù)據(jù)質(zhì)量控制分析
    律師解疑
    關(guān)于《合同法》中“主體結(jié)構(gòu)由施工總承包人自行完成”之規(guī)定的探討
    CNMARC304字段和314字段責(zé)任附注方式解析
    無正題名文獻著錄方法評述
    建設(shè)單位如何防范承包人施工索賠
    關(guān)于CNMARC的3--字段改革的必要性與可行性研究
    漢唐戶主資格的變遷*
    張小飛落網(wǎng)記
    故事林(2010年18期)2010-05-14 17:29:40
    悄悄蒙上你的眼睛
    太白县| 闸北区| 金川县| 巢湖市| 吉木萨尔县| 余姚市| 北海市| 本溪市| 尉犁县| 如皋市| 广河县| 友谊县| 淮阳县| 汉源县| 格尔木市| 宁国市| 南漳县| 仙桃市| 资阳市| 稷山县| 鄂托克前旗| 休宁县| 西平县| 石城县| 通城县| 社会| 兰坪| 叙永县| 安化县| 杭州市| 玉田县| 葵青区| 个旧市| 阳西县| 定远县| 宁夏| 宜君县| 景东| 什邡市| 长宁县| 太湖县|