比较两个工作表并突出显示差异

我有两个包含相同数据点的工作表。 我需要将Sheet1(有效数据)与Sheet2进行比较,并通过将单元格颜色更改为红色来查看Sheet2上的更改。 我试过这个macros,但它画的是一切,不仅仅是不同的单元格。 下面是显示一小部分数据的图像,实际上在每张工作表Image1 Image2上大约有3K行

这是我试过的语法(因为几乎突出显示所有内容,

Dim mycell As Range Dim mydiff As Integer Dim shtSheet1 As String Dim shtSheet2 As String shtSheet2 = "Sheet2" shtSheet1 = "Sheet1" For Each mycell In ActiveWorkbook.Worksheets(shtSheet2).UsedRange If Not mycell.Value = ActiveWorkbook.WOrksheets(shtSheet1).Cells(mycell.Row, mycell.Column).Value Then mycell.Interior.Color = vbRed mydiffs = mydiffs+1 End If Next 

编辑
下面的build议仍然产生不准确的结果,所以我复制/粘贴到记事本比较几个值,我发现,一个工作表后有一些随机空间值,这将导致从Sheet1到Sheet2的数据永远不会相同。

VBA是否具有可以添加的TRIM()特性/function,因此在数据末尾的随机空间在比较中无关紧要?

尝试下面

 Sub checked() Dim mycell As Range Dim mydiff As Integer Dim shtSheet1 As Worksheet Dim shtSheet2 As Worksheet Set shtSheet1 = Worksheets("Sheet1") Set shtSheet2 = Worksheets("Sheet2") For Each mycell In shtSheet2.UsedRange If Not mycell.Value = shtSheet1.Cells(mycell.Row, mycell.Column).Value Then mycell.Interior.Color = vbRed mydiffs = mydiffs + 1 End If Next End Sub 

为什么不尝试在Sheet2中使用条件格式? 公式可能是

= A1 <> Sheet 1中!A1

在“格式”下将填充颜色设置为红色。

你的答案似乎已经提供在这里: find两个Excel工作表之间的区别? Compare_excel或其他外部Excel差异是你在找什么。

如果列数很less,则可能需要在其中一张表的另一列中尝试类似“= Sheet1!A1 = Sheet2!A1”的内容。 然后,您可以过滤FALSE条目。