摘 要:在农村乱占耕地建房问题摸排过程中,由于网络Web端系统平台导出的项目清单数据列过多,不便于打印和核对标注,同时,部分数据项可能存在不确定的导出错误,为使下发用于核对的清单表格阅读更方便,并且对异常项进行提示说明,文章研究了如何利用Excel VBA的自动化功能,对农村乱占耕地建房问题摸排项目网络Web端系统平台导出的项目清单表进行检查、规范及自动整理,并给出了具体的方法和步骤。
关键词:农村乱占耕地建房;问题摸排;Excel VBA;自动整理
中图分类号:TP311 文献标识码:A文章编号:2096-4706(2021)22-0063-04
Abstract: In the process of problem solving on unlandful possession of cultivated land building houses in rural areas, due to too many project list data columns exported from the network Web terminal system platform, it is not easy to print, check and label. At the same time, some data items may have uncertain export errors. In order to make it easier to read the list forms issued for check, and prompt and explain the abnormal items, this paper studies how to use the automation function of Excel VBA to check, standardize and automatically sort out the project list forms exported from the network Web terminal system platform for the project of unlandful possession of cultivated land building houses in rural areas, and the specific methods and steps are given.
Keywords: unlandful possession of cultivated land building houses in rural areas; problem solving; Excel VBA; automatic sorting
0 引 言
为摸清全国占用耕地建设的没有合法合规用地手续的房屋底数,建立全国农村乱占耕地建房问题工作台账,为分步整治、分类处置存量问题奠定基础,重点整治强占多占、非法出售等恶意占用耕地建房行为,保障农民合理的建房需求,2020年7月3日,国务院召开农村乱占耕地建房问题整治工作电视电话会议,要求明确摸排范围和内容,摸清 2013年以来全国农村乱占耕地建房涉及用地情况,房屋建设、使用和非法出售情况,处罚情况等,建立全国农村乱占耕地建房问题工作台账。由于时间紧任务重,各地亟需立即投入项目工作中,为此,自然资源部在原有的网络WEB端“国土调查云”工作平台上新增了“农村乱占耕地建房问题摸排外业信息采集”功能,对数据分发、清单下载、上传更新、核实上报等工作统一进行网上管理。网络WEB端系统平台界面如图1所示。
由于外业调查期间部分技术人员对技术要求的把握不完全到位,同时出于提高外业效率的需要,部分信息收集和填写不够齐全,造成初始录入的信息不够完善,为方便后续工作开展,一是需要将网络Web端系统平台导出的完整信息表拆分为住宅类信息表和公共管理服务类/产业类信息表两个表,方便打印和核对信息;二是需要对已填写的信息进行核对,查出必填而没有填的项,同时,对相互逻辑关系进行检查,对不符合逻辑要求的填写值给出警告提示,方便后续进一步核实完善。这两步均可以通过Excel VBA来自动处理以提高效率。
1 方法步骤
1.1 制作模板表
首先,分析网络Web端系统平台导出的完整信息表,自A列至AY列,共有51列,依次为“基本信息”“住宅类”“公共管理服务类/产业类”“管理信息”“外业核实记录”“摸排确认结果”六个大项。项目清单表样式如图2所示。
这六个大项中,无论是住宅类的信息表还是公共管理服务类/产业类的信息表,都应该有基本信息、管理信息、摸排确认结果三个基础大项,另外,为了便于乡镇村组核实确认,应增加“乡镇、村级核实”大项,由于核查人员和核查时间在反馈乡镇村核实时并不是必须,加上核实说明列的内容与管理信息中的备注列相同,因此,“外业核实记录”项可整体去掉,不显示在自动整理后的表格中。
其次,确认三个基础大项中应当保留的子项。由于整理结果是按房屋三个类型分的表,表头可以统一添加摸排类型、县级行政区名称、乡镇名称,因此,“基本信息”项下的“摸排类型”“行政区”“乡镇名称”列可省略;另外,“村(社区)”“门牌号”两列因无数据也可省略;“房屋面积”列因为后续涉及内业调整界线,面积可能有变化,在表中显示无意义,也可省略。对“管理信息”项而言,“项目总占地面积”“占用耕地面积”“占用永久基本农田面积”“超出本地区宅基地标准面积”4个涉及面积项以及“是否符合城乡规划”“是否符合土地利用总体规划”2个涉及规划项因与内业有关,反馈乡镇村核实时不需列出;由于用地手续的合法性认定,部和省上均未给出明确界定标准,因此“没有合法合规手续原因”这项暂未填写,不需列出;“是否做出行政处罚”“是否申请法院强制执行”“法院是否受理”三项基本不涉及,也可不列出。住宅类和公共管理服务类/产业类的下属子项无法省略,需全部列出。最终确认的住宅类和公共管理服务类/产业类的整理后表格样式如图3、图4所示。
1.2 添加功能代码
在Excel VBA下添加宏,指定快捷运行键,并添加功能代码。首先需要将单元格值读入变量保存,示例代码为:
sa(n) = Cells(i, 1)
由于房屋编号较长,如果按原表完整输出,将占用较宽位置。考虑到每个区县房屋编号均是以6位县级行政区划代码+F组成,即前7位完全一致,差异只在后7位,因此,将房屋编号赋值给变量时可只取后7位,示例代码为:
sb(n) = Right(Cells(i, 2), 7)
检查发现,坐落位置列存在“××镇-××镇××村”的不规范值,需要统一表达为“××镇××村”,自动修正的示例代码为:
s4 = “-”
se(n) = Cells(i, 5) 乡镇名称
si(n) = Cells(i, 9) 坐落位置
n1(n) = InStr(si(n), s4)
If n1(n) > 0 Then
si(n) = se(n) & Right(si(n), Len(si(n)) - 2 * n1(n) + 1)
End If
对于表格内容填写的检查,重点是漏填项检查,主要的漏填项检查包括:
(1)土地来源项未填,检查示例代码为:
If sl(n) = “” Then
s14(n) = "缺土地来源,"
End If
(2)开工时间项未填,检查示例代码为:
If sm(n) = “” Then
s6(n) = "缺开工时间,"
End If
(3)住宅类未填房屋类型、个人姓名、个人身份项,检查示例代码为:
If sc(n) = "住宅类" Then
If sn(n) = “” Then
s7(n) = "缺房屋类型,"
End If
If sp(n) = “” Then
s9(n) = "缺个人姓名,"
End If
If sq(n) = “” Then
s15(n) = "缺个人身份,"
End If
End If
(4)多户住宅未填项目名称项和单位名称项,检查示例代码为:
If sn(n) = "多户住宅" Then
If sk(n) = “” Then
s5(n) = "缺项目名称,"
End If
If so(n) = “” Then
s8(n) = "缺单位名称,"
End If
End If
(5)公共管理服务类或产业类未填房屋用途项和建设主体名称项,检查示例代码为:
If sc(n) = "公共管理服务类" Or sc(n) = "产业类" Then
If sw(n) = “” Then
s11(n) = "缺房屋用途,"
End If
If sx(n) = “” Then
s12(n) = "缺建设主体名称,"
End If
End If
其次是填写项之间的逻辑关系检查,主要包括以下2项:
(1)在住宅类“是否符合一户一宅或符合分户条件但未分户”项填写了“否”,但是在“一户多宅的原因”项没有填写原因的,检查示例代码为:
If su(n) = "否" And sv(n) = "" Then
s10(n) = "缺一户多宅原因,"
End If
(2)在公共管理服务类/产业类“是否上级部门有明确要求”项填写了“是”,但是在“部门名称”项没有填写具体部门名称的,检查示例代码为:
If saa(n) = "是" And sab(n) = "" Then
s13(n) = "缺部门名称,"
End If
1.3 格式设置
激活模板表,将数据成功输入之后,还需要对有数据的单元格进行格式设置,将单元格边框设置为所有框线,颜色自动。示例代码为:
Range(“A” & 1 & “:W” & k + 3).Select
Selection.Borders(xlEdgeLeft).Weight = xlThin
Selection.Borders(xlEdgeLeft).LineStyle = xlContinuous
Selection.Borders(xlEdgeLeft).ColorIndex = xlColorIndexAutomatic
本示例仅列举了设置左边框的代码,要设置右、上、下、水平、竖直方向的边框时,只需将本示例中的“xlEdgeLeft”替换为“xlEdgeRight”、“xlEdgeTop”、“xlEdgeBottom”、“xlInsideHorizontal”、“xlInsideVertical”即可。
2 程序适应性
本方法实现了对农村乱占耕地建房问题摸排项目网络WEB端系统平台导出的项目清单总表的自动整理和检查标注,整理后,所有乡镇的数据都按类别分别归入了住宅类、公共管理服务类/产业类两个总表上,有疑问的项进行了标注,如图5、图6所示。
程序只对县级辖区内的摸排项按类别进行了区分,并未按不同乡镇生成对应的分乡镇表格。因此,如果需要按乡镇进行打印,一种方法是可以通过Excel的筛选功能按不同的乡镇来打印;另一种解决方法是在网络WEB端系统平台上,按乡镇筛选,分乡镇导出项目清单表,再按本方法的自动整理程序进行整理,做成每个乡镇的清单表,再逐一按乡镇进行打印。
3 结 论
本方法可以快速对农村乱占耕地建房问题摸排项目网络WEB端系统平台导出的项目清单表进行自动整理,规范一些不标准的填写值,对填写漏项和逻辑有误的进行准确提示,大大降低了错误率,提高了工作效率,降低了生产成本。
参考文献:
[1] 马维峰.Excel VBA应用开发从基础到实践 [M].北京:电子工业出版社,2006.
[2] 赵志东.Excel VBA技巧应用 [M].北京:人民邮电出版社,2007.
[3] 杨洋.深入浅出Excel VBA [M].北京:电子工业出版社,2019.
[4] 卢绍婷,周俊晖.农村乱占耕地建房整治方法研究与系统实现 [J].国土资源信息化,2021(2):48-53.
[5] 自然资源部 农业农村部.自然资源部农业农村部关于农村乱占耕地建房“八不准”的通知 [J].农民文摘,2020(9):6.
作者简介:林明贵(1983.04—),男,汉族,福建福州人,中级工程师,本科,研究方向:测绘工程。