• 
    

    
    

      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
      悄悄蒙上你的眼睛
      车险| 乐山市| 红桥区| 卢龙县| 淳化县| 山西省| 沈阳市| 淳化县| 贵阳市| 泸水县| 瑞昌市| 黑山县| 阳江市| 那坡县| 漳平市| 定西市| 金华市| 石门县| 怀集县| 雷波县| 武义县| 永州市| 达尔| 平泉县| 鸡西市| 同仁县| 古丈县| 长白| 万载县| 黄龙县| 新干县| 全州县| 乐昌市| 徐州市| 宿松县| 石柱| 钟祥市| 肇源县| 大英县| 长岛县| 出国|