用VBA比较两个表格的不同之处?

用VBA比较两个表格的不同之处?,第1张

下边用员工表来做示范,比对身份z号和姓名的 *** 作方法也相同。

1.通过要进行对比的两个工作表或多个工作表位于不同的文件中,首先要做的就是当多个要进行对比的Excel工作表数据复制粘贴到同一个工作表中,同时做好各个工作表的命名准备,以便能正确的区分数据的来源。

2.接下来确定数据“关键字”部分,即能够唯一标识记录的关键字组合,颤瞎蚂这样就可以在进行数据对比时,能够唯一的标记一条记录。比如,如图所示的“ID”和“姓名”就可以唯一标识一条记录。

3.接下来,还要确定一下,各个工作表数据行的范围以及要进行对比的关键字所在的位置信息。如图可知,

员工基础报表中数据范围为“3至12行”,关键字所在的位置为(i行1列)和(i行2列)。

员工待遇统计表中数据范围为“3至11行”,关键字所在的位置为(i行1列)和(i行2列)。

4.所要做的就是从表1中找出表2中已经存在的记录,并且做好相茄埋应的标记,以便供查看。为此,按键盘上的快捷组合键“Alt+F11”进入VBA编辑模式。或者切换至“开发工具”选项卡,点击“Visual Basic”按钮进入VBA环境。

有关“开发工具”选项卡的打开方法请参考栏目二部分。

5.右击“Microsoft Excel对象”,从d出的右键菜单中选择“插入”->“模块”项。

6.接着输入如图所示的代码:

Sub 数据对比()

  Dim i As Integer

  Dim j As Integer  

  For i = 3 To 12        '员工基础报表数据范围

      For j = 3 To 11    '员工待遇统计表数据范围

       If Sheets("员工基神斗础报表").Cells(i, 1) = Sheets("员工待遇统计表").Cells(j, 1) Then

          If Sheets("员工基础报表").Cells(i, 2) = Sheets("员工待遇统计表").Cells(j, 2) Then

             Sheets("员工基础报表").Cells(i, 8) = "已存在"   '存在时进行标记

          End If

       End If

      Next j

  Next i

End Sub

7.然后点击工具栏上的“调试运行”按钮。

8.待子过程运行结束后,返回Excel工作表进行查看,就会发现对比结果已经出来啦。基于此,可以进行更近一步的数据处理 *** 作。顺便也将另一张工作表中的记录一同展示出来,以供参考。

Sub 查找相同点()

  工作握含簿1 = ActiveWorkbook.Name

  Sheets("表1").Select

  H1 = 2

  H2 = Cells(65536, 1).End(xlUp).Row

  L1 = 1

  L2 = Cells(1, 256).End(xlToLeft).Column

 悔皮雹 For H = H1 To H2

      For L = L1 To L2

          If Sheets("表1").Cells(H, L) <>Sheets("表2").Cells(H, L) Then

              Sheets("表3").Cells(H, L) = LTrim(Str$(Sheets("表1"碧帆).Cells(H, L))) + "," + LTrim(Str$(Sheets("表2").Cells(H, L)))

          End If

      Next

  Next

End Sub


欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/tougao/12169638.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存