excel表格_excel函数公式大全_execl从入门到精通
手把手教你如何用程序思维快速比对excel数据2024-04-11 16:22:22
excel使我们日常生活中常见的数据表,各种财务统计、数据报表等都离不开excel表格。而今,对excel的数据比对也越来越多。单纯的人工比对不仅费时费力,而且还容易出错,真正的费力不讨好,小面小编就以程序员的思维聊聊怎么使用Excel自带的VB编写程序快速的比对excel数据,学会了以后能够提高自己的工作效率,再也不用加班处理数据了(这里以目前比较常用的Excel 2007做示范,其他版本的Excel类似)。
1. 我们双击打开一个Excel表格,找到并单击“开发工具”菜单,然后就会出现"Visual Basic"菜单,然后单击进入VB编程界面,如下图:
打开VB界面2. 进入VB编程界面后,在左边属性框里面找到并双击'ThisWorkbook'即可进入代码编写界面,在这里即可进行代码编写,如下图:
进入代码编写区域3. 将代码编写完成后即可对对应的代码进行编译即可对数据进行处理,如下图:
VB运行代码4、一下是我本地编写的一个数据对比程序:将两个表格中的数据进行对比,导入两个不同的表格中,其中一个是将数据不一样的结果以特殊颜色的方式显示出来,相同的地方将原始数据复制过来; 另一个表格则是只记录数据不匹配的地方并将其显示出来。如下图所示:
运行后比对结果(不含原始数据)
运行后比对结果(含有原始数据)5. 代码保存,代码可以保存下来一遍后续使用。保存注意事项(刚开始编写的时候不知道需要这样,导致当时的代码丢失了:在保存的时候需要以.xlsm的格式保存,否则无法将对应的VB(宏代码)保存下来,这样会导致下次打开对应的excel表格的时候代码不存在,需要重新在编写了。
6. 代码分享:一下是该功能实现过程中所用的代码,其中要注意的是这里面的表格名称要对应,否则会报错,该代码的表格名称如下图:
Sub 数据对比()
Sheets("标准数据").Select '选中标准数据栏
Range("A1:H500").Select '选中对标准数据栏的A1-H500
Selection.Copy '对选中的数据栏进行复制
Sheets("比对结果").Select '选中比对结果数据栏
Range("A1:H500").Select '选中比对结果数据栏的A1-H500
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False '将标准数据栏复制好的数据粘贴到比对结果数据栏相应的位置
Dim i As Integer '定义整数i
Dim j As Integer
For i = 2 To 500 '2到500行
For j = 2 To 20 '2到20列
If Sheets("标准数据").Cells(i, j) <> Sheets("BOM数据").Cells(i, j) Then '两个表格数据做对比
Sheets("比对结果").Cells(i, j) = Sheets("标准数据").Cells(i, j) + "和" + Sheets("BOM数据").Cells(i, j) + "不匹配" '不存在时进行标记,并在对应的列说明对应数据不匹配"
Sheets("比对结果").Cells(i, j).Interior.Color = 35500 '比对结果不一样的以特殊颜色显示出来
Sheets("导出不匹配项").Cells(i, j) = Sheets("标准数据").Cells(i, j) + "和" + Sheets("BOM数据").Cells(i, j) + "不匹配"
Sheets("导出不匹配项").Cells(i, j).Interior.Color = 65535
End If
Next j
Next i
End sub
标签: excel代码编写界面进入