我有2个excel文件,每个文件都有很多数据。数据在两个文件中的结构完全相同,但数据可能因两个不同时间的数据而改变。寻找细胞变化 - Excel文件
基本上我想找到一些方法来自动比较两个文件的每个单元格中的值,并突出显示已更改文件#2中的值的单元格。
请分享您的想法!
实施例:
文件1:
一个/ 1/2
文件2:
一个/ 1/8
(/ - 表示新小区)
我有2个excel文件,每个文件都有很多数据。数据在两个文件中的结构完全相同,但数据可能因两个不同时间的数据而改变。寻找细胞变化 - Excel文件
基本上我想找到一些方法来自动比较两个文件的每个单元格中的值,并突出显示已更改文件#2中的值的单元格。
请分享您的想法!
实施例:
文件1:
一个/ 1/2
文件2:
一个/ 1/8
(/ - 表示新小区)
这可能不是尽管有效的方式(可以在几秒钟内处理25k个单元格),但它不仅仅是简单地弥补了它的不足。
这将查看Sheet2中的每个单元格,并将其与您指定的文件Sheet1中相同地址的单元格中的值进行比较。如果不同,Sheet2中的单元格会突出显示为黄色。
Sub FindDifferences()
Application.ScreenUpdating = False
Dim cell As Range
Dim wkb1 As Workbook
Dim wks1 As Worksheet
Set wkb1 = Workbooks.Open(Filename:="C:\MyBook.xls")
Set wks1 = wkb1.Worksheets("Sheet1")
For Each cell In ThisWorkbook.Sheets("Sheet2").UsedRange
If cell.Value <> wks1.Cells(cell.Row, cell.Column).Value Then
cell.Interior.Color = vbYellow
End If
Next
wkb1.Close
Application.ScreenUpdating = True
End Sub
注意: 你可以轻松地定制这种通过简单的拆卸wkb1和WKS1变量和更改wks1.Cells...
到Sheets("Sheet1").Cells
比较在同一个文件2张......
您可以使用此online website - xlcomparator.net(点击右上角的国旗f或英文版)。
或者试试这个软件:http://www.formulasoft.com/excel-compare.html
或者尝试这种宏(即检查第一列),并根据需要进行修改:
sub compare()
Application.ScreenUpdating = False
Dim coll1 As New Collection, coll2 As New Collection
Dim cell1 As Range, cell2 As Range
Dim Element1 As Object, Element2 As Object
Workbooks("workbook1.xls").Activate
For Each Cellule1 In Range("a:a")
coll1.Add cell1
Next Cellule1
Workbooks("workbook2.xls").Activate
For Each cell2 In Range("a:a")
coll2.Add cell2
Next cell2
For Each Element1 In coll1
For Each Element2 In coll2
If Element1 <> Element2 Then
Element1.Font.Color = vbRed
Else
Element1.Font.Color = vbBlack
Exit For
End If
Next Element2
Next Element1
Application.ScreenUpdating = True
end sub
另外两个选项:
这是我最喜欢的工具,因为它也提供了一个行和列对齐选项,以确保这两个板通过行和列indentically提出,运行比较前输出代码以突出显示任何差异
是否只有你想要比较的值?不格式,字体大小,颜色等?另外,所有的数据都在一张或多张纸上,什么是“每张纸上的大量数据”? –
相关问题:http://stackoverflow.com/questions/114698/how-do-i-diff-two-spreadsheets – barrowc
只想比较值,但希望输出突出显示不同的值。我正在比较的两个数据集有两张不同的表格。 – Adam