`
SwiftHorse
  • 浏览: 213233 次
  • 性别: 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文件的数据,我们可以按照以下步骤进行: 1. **打开Excel文件**:使用Workbooks.Open方法打开两个需要对比的Excel文件。例如: ```vba Dim wb1 As Workbook, wb2 As Workbook Set wb1 = ...

    vba比较两个配置文件

    本篇将详细讲解如何使用VBA来比较两个配置文件。 首先,让我们了解VBA的基本概念。VBA是基于Visual Basic编程语言的一个版本,专用于Microsoft Office套件。它提供了宏录制和脚本编写功能,使得用户可以通过编程...

    EXCEL VBA PDF 文件

    类似地,`Workbooks.Open("PDF的路径")`是Excel VBA中的一个方法,通常用于打开Excel工作簿,但如果你安装了支持的ActiveX控件,它也可以用来打开PDF文件。 下面是一个示例脚本,展示了如何结合使用`CreateObject`...

    Excel VBA 计算两个时间间隔, 精确到天,时,分,秒

    在Excel VBA(Visual Basic for Applications)中,计算两个时间间隔并精确到天、时、分、秒是一项常见的任务,特别是在处理大量数据或自动化工作流程时。VBA提供了丰富的日期和时间函数,使得我们可以轻松地进行...

    EXCELVBA贝塞尔曲线及插值_贝塞尔平滑_EXCELVBA贝塞尔曲线及插值_excelvba插值_

    在"EXCELVBA贝塞尔曲线及插值.pdf"文件中,可能详细介绍了如何在VBA环境中实现这些算法,并提供了示例代码。通过阅读和理解这份文档,你可以掌握如何在Excel VBA中绘制出符合需求的贝塞尔曲线,并进行数据插值。 ...

    基于VBA技术实现Excel数据生成CAD对象

    具体实现方法如下: 1. **定义数据结构**:明确Excel中哪些数据对应AutoCAD中的何种图形元素。 2. **编写转换逻辑**:编写VBA代码实现从Excel读取数据,并按需转换为AutoCAD图形。 3. **绘制图形**:在AutoCAD中...

    巧用VBA编程实现Excel证件的批量打印

    准备工作完成后,通过VBA编程将两个工作表链接起来,并实现自动填充个人信息到证件模板中的功能。 VBA编程的具体实现可以通过定义过程或函数来完成。例如,定义一个子程序(Sub)来指定宏的操作流程。在这个过程中...

    EXCEL_VBA聊天程序

    该程序利用Winsock控件实现了TCP/IP通信,从而让两个Excel实例之间能够进行实时的信息交换,类似于QQ等即时通讯软件的基本功能。 首先,让我们深入了解一下Winsock控件。Winsock是Windows操作系统中的一个组件,它...

    用VBA实现AutoCAD与Excel的通信

    在描述中提到的VBA实现AutoCAD与Excel的通信,本质上是通过VBA编程语言编写宏(Macro),来实现这两个软件的数据交换和任务自动化。要实现这一点,需要掌握一些关键点: 1. VBA基础知识:了解VBA的基本语法、数据...

    用VBa实现了Excel比对

    下面是一个简单的VBa代码示例,用于比对两个工作表中的数据: ```vb Sub CompareSheets() Dim wb1 As Workbook, wb2 As Workbook Dim ws1 As Worksheet, ws2 As Worksheet Dim cell1 As Range, cell2 As Range ...

    EXCEL+VBA实现会议安排

    本项目"EXCEL+VBA实现会议安排"正是结合了这两种工具的优势,以满足特定的工作需求。 首先,我们要理解会议安排的基本要求。通常,会议安排需要包括参会人员的姓名、部门、职务等信息,以及会议的时间、地点、议题...

    excel VBA 文件合并

    在日常工作中,我们经常会遇到需要将多个Excel文件合并成一个文件的情况。手动操作不仅效率低下,而且容易出错。这时,利用Excel VBA(Visual Basic for Applications)进行自动化处理便显得尤为重要。本文将通过...

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

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

    EXCELVBA方法属性大全

    在Excel VBA中,方法和属性是两个核心概念,它们构成了VBA编程的基础。 **方法** 是对象能够执行的动作或操作。例如,`Range`对象的`Select`方法用于选取指定范围的单元格,`Worksheets`对象的`Add`方法可以添加新...

    【免费下载】ExcelVBA和WordVBA教程.rar

    本教程主要聚焦于Excel VBA和Word VBA,这两个工具在日常办公中有着广泛的应用。 Excel VBA教程: Excel VBA使你能创建宏,这是一种可以执行一串命令的程序,用于处理大量数据和实现复杂的计算。通过学习Excel VBA...

    EXCEL表格用VBA更新双色球数据源代码

    2. EXCEL表格用VBA更新双色球数据源代码.xlsm:这是一个启用宏的Excel文件,其中包含了VBA代码。运行宏后,它应该能自动更新双色球数据。 为了实现这一目标,VBA代码可能包含以下几个部分: - Sub Main:主程序,...

    VBA编程资料 For Excel

    了解如何定义和调用这两个类型的程序是VBA编程的核心。 5. **事件驱动编程**:Excel中的VBA可以响应用户的操作或事件,如打开工作簿、关闭工作簿、点击按钮等。编写事件处理程序可以实现交互式应用。 6. **错误...

    vba案例,从excel导入数据到MSSQL

    在这个特定的案例中,我们关注的是如何使用VBA从Excel文件导入数据到SQL Server数据库。这个过程涉及到几个关键知识点,包括VBA的基本语法、Excel对象模型以及与SQL Server的交互。 首先,我们需要了解VBA的基本...

    excel vba 萬年歷 万年历 阳历 农历 阴历 记事录功能 全部vba代码 和excel公式做成

    9. **Excel公式**:除了VBA外,Excel的内置公式也可以用来辅助计算,比如`NETWORKDAYS()`计算两个日期之间的工作日数,`EOMONTH()`获取指定月份的最后一天等。 10. **数据持久化**:如果要保存用户的记事,可以考虑...

Global site tag (gtag.js) - Google Analytics