VBA技术在数据整治中的使用

来源 :教育前沿 | 被引量 : 0次 | 上传用户:xumin7777
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:对于所有的信息系统来说,界面华丽的图表展示,都是由底层的数据来支撑的,如果底层的数据杂乱无章,界面展示的再绚丽,对使用者来说没有任何的价值。所以数据的整治工作在信息系统中变得尤为重要。但数据整治工作工作量都比较大,如何减少数据整治工作的工作量,提升工作效率有多种方法,本文结合实际工作经验,介绍使用VBA技术提升数据整治效率的方法。
  关键字:VBA 数据整治
  中图分类号:G642                        文献标识码:A                 文章编号:1672-8882(2012)12-025-02
  VBA(Visual Basic for Applications)是Visual Basic的一种宏语言,主要能用来扩展windows的应用程式功能,特别是Microsoft Office软件。也就是说是一种应用程式视觉化的Basic Script。
  笔者所在的公司曾为多家公司开展过数据整治工作。数据量从万级到百万级不等。笔者也负责过几次数据整治,深知数据整治工作的重要性。本文将结合笔者的现场工作经验,针对VBA技术在数据整治中的使用进行详细介绍。
  数据整治过程中,最常遇到的如数据汇总、数据拆分、数据格式自动检查等,本文就针对这三种情况下VBA技术使用进行阐述。
  一、数据汇总
  情景:下发数据收集模板进行数据收集,用户提交了很多的数据上来,数据分布在不同的表格内,现需对所有数据进行审核。每个表格检查步骤都一样,如果逐个表格检查,工作量很大,而如果数据汇总起来统一检查,这样会大大减少检查时间,那么下面进行汇总数据。
  问题:手工汇总数据就是频繁的打开文件,复制数据,粘贴数据,关闭文件。如果数据有多个表格,多个Sheet页,有些表格提交时忘了去除筛选状态,很容易导致疏漏,或重复汇总问题。
  VBA解决办法:
  在VBA中使用Dir(pathname&“*.xls”),获取指定目录下所有的EXCEL文件清单,使用Do while遍历每个Excel文件,遍历文件时使用for循环遍历所有Sheet页。使用AutoFilterMode = False,解除表格文件的筛选。可以使用UsedRange来选择数据,也可以一行一行选择数据,本文使用UsedRange为例,代码示例如下:
  如果汇总数据可能会超过EXCEL表格最大数据量65536(Excel2003的最大行数)的话,可以在程序中添加代码进行判断,使用Worksheets.Add,新增sheet也,将后面的数据放入新的sheet中。
  二、数据拆分
  情景:项目组从系统中导出所有的数据,准备下发给用户或者项目组成员整改,数据需要按照一定的逻辑进行拆分开来。那么下面进行数据拆分。
  问题:手工拆分数据就是频繁的筛选数据、复制数据,新增表格,粘贴数据。如果需要拆分成很多个表格,很容易导致内容或者标题疏漏。
  VBA解决办法:
  数据可以拆分至多个excel文件,也可以拆分至多个sheet页,本文以拆分至多个sheet页为例,示例代码如下:
  判断sheet页是否存在的getExsit函数代码:
  三、数据格式自动检查
  情景:收集上来的数据,可能存在很多方面不符合要求,如:文本长度,文本必填,文本唯一性,文本格式,文本有效性等,无法满足系统要求,需要对数据进行检查,那么下面进行数据的检查。
  问题:手工检查数据工作量大,需要用大量的公式进行按列检查。公式的操作,可能会大面积变动原有的数据表,容易出错和疏漏。且手工检查只能有少数人进行,检查效率较低。
  VBA解决办法:
  我们可以使用UsedRange确定数据范围,逐单元格进行检查。定义一些检查的函数,当检查不同列时,调用不同的函数,来判断单元格内的值是否满足要求。部分函数代码示例如下:
  检查文本长度:
  检查必填:
  检查唯一性:
  文本格式(以检查数值格式为例):
  文本有效性,可借助VBA的圈释CircleInvalid功能,也可以使用定义好的Range来进行检查,本文中以Range来检查:
  当确定单元格文本存在错误后,如何进行标注错误呢?VBA中可以用批注功能AddComment,也可以用单元格底色进行标注,本文使用单元格底色进行标注,这样可以使用多种颜色来标注不同的错误类型,简明直观:
  使用VBA检查数据还有一点好处,当模板中嵌入检查代码后,最终收集数据的人员可以自行检查数据问题。这样大大提高汇总前的数据质量,减少最终数据检查的工作量,可以将核心的人员从繁琐的数据检查的工作中释放处理。
  当然,数据治理遇到的问题远不止以上列举的三个问题,其他的问题也同样可以考虑使用VBA来解决。微软给我们提供了这么实用的工具,我们要充分利用起来,让枯燥数据治理工作变得越来越轻松。
其他文献
摘 要:社20世纪60年代后期起,教师专业发展问题逐渐被教育学界所重视,且90年代以来,欧美一些国家在教育研究中逐渐以教师专业发展代替了教师教育与培训。本文在阐述教师培训的内涵,教师专业发展的内涵,教师培训与教师专业发展之间的关系的基础上,提出教师培训促进教师专业发展的一些策略。  关键词:教师培训 教师 专业发展  中图分类号:G642                        文献标识码:
“国以民为本,民以食为天,食以粮为主。”粮食是人类赖以生存的主要生活资料,是人类社会经济发展的物质基础,也是重要的战略资源,在国民经济中占据举足轻重的地位。基于粮食
摘 要:作业设计问题正成为新课改下最薄弱的一环,教师“重课堂教学轻作业设计”的现象比比皆是,再不突破这个瓶颈,我们的教育改革必将事倍而功半。想要让数学作业变的精炼有效,就应该在数学作业的开放性上积极探索。  关键词:新课改 高中数学  作业  开放性  探索  中图分类号:G633.6                      文献标识码:A                 文章编号:1672-8
春节是一年之岁首,也是中国人最隆重的一个传统节日.春联、福字、鱼字、灯笼和窗花等等构成了红色的喜庆元素——“年红”.当人们在自己的家门上贴“年红”的时候,无论是现在
期刊
中图分类号:G632                        文献标识码:A                 文章编号:1672-8882(2012)12-020-02  相对城镇教育而言,民工子女学校在办学条件、教学水平和教学质量等方面都还存在着一定差距。要尽快改变这种状况,除了不断地深化农村教育综合改革,继续加大对流动人口子女学校教育的投入,给予有效的政策支持之外,作为培训机构,整合本地
期刊
摘 要:人类的权利自始就是与救济相联系的,当人类脱离了蒙昧和盲动而获得了一定的权利时,也必有与之相适应的救济手段。法律史料表明,在人类社会早期,社会的成员发生“权利纠纷”时,主要依靠私力救济来平息纷争。即使人类社会进入宪政时代,私力救济也普遍存在。私力救济虽然其表面上具有对他人人身自由权利、财产权利或者其他相应权利造成妨碍的事实特征,但是由于其是保全和恢复为既有法律秩序所认可的权利,应当为既有法律
结合工程实例,针对沿海地区管桩施工的难题,提出了低能级强夯加管桩处理地基的施工方法,为类似工程提供参考.
鼻窦又称鼻旁窦、副鼻窦,是鼻腔周围颅骨的含气空腔.鼻腔周围多个含气的骨质腔,按其所在的位置命名为额窦、筛窦、上颌及蝶窦,共四对八个.各鼻窦的形状、大小随着年龄、性别
期刊