`
SwiftHorse
  • 浏览: 208827 次
  • 性别: Icon_minigender_1
  • 来自: 广东
社区版块
存档分类
最新评论

VBA简单实现两个Excel文件的比较方法

阅读更多

  到财务走了一圈,正好看到一位同事正在对两个Excel文件进行比较。两个文件的内容大致如此(列出部分列名):

主贷身份证 主贷人     贷款余额
440602**** 李*瑜 ¥35,000
360102**** 李*亮 ¥81,359
440202**** 李*英 ¥48,125
440682**** 白*娟 ¥1117,50

  财务同事的需求是:找出两个表中贷款人身份证一样,但贷款余额不一致的数据。因量比较大,手工去找余额不一致相当麻烦。对财务人员来说可能经常会碰到这样的问题,痛苦!我第一反应是要给她想个办法,简单处理这种繁琐的工作。于时随手写了以下VBA来实现。

  第一步,先将要核对的两个文件放到一个文件中,一个放在Sheet1,另一个放在Sheet2中。

  第二步,加个按钮,写以下VBA事件:

Private Sub CommandButton1_Click()
  Dim objCon, objDataSet, sqlStr
  Set objCon = CreateObject("ADODB.Connection")
  Set objDataSet = CreateObject("adodb.recordset")
  objCon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties='Excel 8.0;imex=1;';Data Source=" & ThisWorkbook.FullName

  sqlStr = "select a.*  from [Sheet1$] a left join [Sheet2$] b on (a.[主贷身份证]=b.[主贷身份证]) where a.[贷款余额]<>b.[贷款余额]"
  Set objDataSet = objCon.Execute(sqlStr)

  Sheet1.[e1:g1000].ClearContents '清除这个区域
  Sheet1.[e1].CopyFromRecordset objDataSet '将不致的写到E列
  objDataSet.Close
  objCon.Close
  Set objDataSet = Nothing
  Set objCon = Nothing
End Sub

  按下按钮,不一致的数据全部找了出来。需求和解决办法虽简单,但可以帮助到很多不懂VBA的朋友,供参考。

分享到:
评论
3 楼 掌上明珠 2014-11-06  
2 楼 mossmouser 2010-06-13  
哈哈,刚好用到类似的这样功能。谢谢分享
1 楼 baizi17 2008-06-27  
你好。
请你尊重别人,不要随便透露别人的贷款信息!也许你是无心的,但已经给我造成了一定的麻烦。
谢谢。

相关推荐

    excel VBA实现两个文件做单元格对比

    excel VBA实现两个excel文件所有worksheet单元格做对比,并找出差异,将差异进行着重显示,对于数据量非常在和对数据要求高的场景将会大大缩减人工对比的时间

    用VBa实现了Excel比对

    在Excel 用VBa对比两个Sheet数据

    VBA学习笔记本(二)——两个表格数据匹配_DEMO

    VBA学习笔记本(二)——两个表格数据匹配_DEMO 将excel中两个工作表中,数据进行一键同步的通用方法

    Python执行Excel宏-Python执行VBA宏-适用Python合并Excel多个Shett页

    通过Python的Xlwings包调用Excel可执行VBA宏文件实现对多个文件的Sheet页合并到一个Excel文件当中,达到多个Excel汇总的目的。 文件描述: 适用于 office 的Excel WPS的表格执行宏似乎需要收费 mergeExcel_VBA:为...

    Excel_VBA程序设计.pdf

    11两个层面运行宏的方法 40 12完善你的宏代码 41 13重新命名宏 43 14运行宏的其它方法 43 15使用键盘快捷键运行宏 43 16通过菜单运行宏 44 17通过工具栏按钮运行宏 46 18通过工作表里面的按钮运行宏 47 19保存宏 48 ...

    Excel VBA范例大全 罗刚君 高清PDF 分卷1

    最后安排两个综合系统实例,对Excel2007VBA知识点进行了综合应用,帮助读者迅速提升VBA综合设计能力,实现从入门到精通的快速飞跃。本书光盘中包括所有实例的素材和程序源代码,读者稍加修改,便可应用于自己的工作...

    Excel VBA范例大全 罗刚君 高清PDF 分卷2

    最后安排两个综合系统实例,对Excel2007VBA知识点进行了综合应用,帮助读者迅速提升VBA综合设计能力,实现从入门到精通的快速飞跃。本书光盘中包括所有实例的素材和程序源代码,读者稍加修改,便可应用于自己的工作...

    Excel VBA与数据库整合应用范例精讲书及源代码

    内容简介 《Excel VBA 数据库整合应用范例精讲》用180个实例介绍了利用Excel VBA来操作数据库(包括Access、SQL Server和FoxPro)的实用方法和技巧。  全书共11章。第1~6章是利用Excel VBA操作Access数据库的实例...

    Excel VBA 高效办公从入门到精通 何非 源代码

    Excel VBA 高效办公从入门到精通 何非 源代码 本书共包括16章,可以将其分为如下几个部分。 第一部分包括第1~3章,讲解了应用Excel VBA技术所需的基础知识。 其中VBA语言是重点,包含了VBA语言的语法、常用语句...

    Excel_VBA教程

    11两个层面运行宏的方法 32 12完善你的宏代码 32 13重新命名宏 34 14运行宏的其它方法 34 15使用键盘快捷键运行宏 34 16通过菜单运行宏 35 17通过工具栏按钮运行宏 37 18通过工作表里面的按钮运行宏 38 19保存宏 39 ...

    Excel VBA实用技巧大全 附书源码

    01007获取打开Excel文件时的默认路径 01008获取模板保存的默认路径 01009获取库文件夹的路径 01010获取路径分隔符 01011获取Excel主窗口标题栏的名称 01012获取Excel窗口的状态(大小) 01013获取Excel主窗口的高度...

    excel中161个VBA_自定义函数超级实用

    函数作用:取得一个文件的扩展名.....................89 '78.函数作用:取得一个文件的路径.......................90 '79.函数作用:十进制转二进制...........................90 '80.函数作用:检查一个数组是否为空...

    Excel VBA与数据库整合应用范例精讲

    Excel VBA与数据库整合应用范例精讲(范例文件代码) 内容简介 《Excel VBA 数据库整合应用范例精讲》用180个实例介绍了利用Excel VBA来操作数据库(包括Access、SQL Server和FoxPro)的实用方法和技巧。  全书共11章...

    Excel Vba课堂随机点名程序

    这个资源是我当时写这个程序的代码,进入excel按我的教程...如果不知道怎么使用这两个文件,可以百度一下。 里面有个word文档,里面的图片链接可能没用了,大家参考教程就行了。

    Excel 2003高级VBA编程宝典 02

    原来发布的那个资源有些问题,再重新发布一次,实在不好意思。 Excel_2003高级VBA编程宝典,为*.djvu格式文件,大小为15.5MB,看起来像是PDF的感觉。...文件分为两个压缩包,请全部下下来后,再解压。

    EXCEL VBA 宏 合并任意数量 的 表

    在此目录中新建一个excel文件并打开; 执行vba.xls里面的“表合并”宏,即可完成合并和数据行数统计,结果在新建的excel文件中的最后两张sheet中。 (统计行数的数组设为200维,若有更多张表,可进自行修改arr和str_...

    学习微软Excel_2002_VBA_编程和XML_ASP技术.CHM

    Learn Microsoft Excel 2002 VBA Programming with XML and ASP 带领你从始至终创建VBA过程,VBScripts,ASP 页面,XML 文件和XSL 工作表。沿着这条路,有许多详细的,适用的“如何做”例子和插图。本书的方法是“由...

    ExcelVBA程序设计.doc

    11两个层面运行宏的方法 32 12完善你的宏代码 32 13重新命名宏 34 14运行宏的其它方法 34 15使用键盘快捷键运行宏 34 16通过菜单运行宏 35 17通过工具栏按钮运行宏 37 18通过工作表里面的按钮运行宏 38 19保存宏 39 ...

    Excel画平滑曲线散点图的算法 vba代码

    和贝塞尔曲线是怎样在通过每两个节点的(每一对输入的X-Y数值代表平面坐标系的一个点,称为节点,Excel的平滑曲线通过每一个节点) 要在其他Excel文档使用 BezireInt() 函数,需要按Alt+F11,双击模块一 复制所有文字 ...

Global site tag (gtag.js) - Google Analytics