如何从两个excelsheets中find具有相同格式的不同单元格

我有两个excel文件,每个文件有1553行和40列。 他们有相同的列名称,应该是相同的。 但似乎有一些分歧。 我想知道是否有一些代码,可以检测和突出/总结(哪一行/列)不同的单元格。

有两种方法可以做到这一点

  • 你可以使用IF公式如IF(cell1=cell2,"","Not Matching")
  • 您也可以使用条件格式来匹配两个范围和不同的颜色:select第一个范围并转到条件格式 – >新规则 – >格式化仅包含和select“单元格值”和“不等于”的单元格 – >然后select在另一个工作表中开始下一个范围的单元格(注意:请删除从单元格中引用ie $)并填充任何非匹配值的颜色。

Excel有一个加载项用于比较名为“查询”的文件。 可能值得一试。 请注意,有版本要求。

function说明: https : //support.office.com/zh-cn/article/What-you-can-do-with-Spreadsheet-Inquire-ebaf3d62-2af5-4cb1-af7d-e958cc5fad42

如何开启它: https : //support.office.com/zh-cn/article/Turn-on-the-Inquire-add-in-6bc668e2-f3c6-4729-8ce1-75ea20aa9d90

我只是写了这个代码来find不匹配的单元格,并为你高亮每个单元格。 您需要使用适当的图纸名称更改Sheet1和Sheet2,然后确保行数和列数以合适的数字开始和结束。 希望有所帮助!

 Sub comparison() Dim ws1 As Worksheet Dim ws2 As Worksheet Dim CellValuews1 As Variant Dim CellValuews2 As Variant Dim ErrorCount As Integer Set ws1 = Sheets("Sheet1") Set ws2 = Sheets("Sheet2") ErrorCount = 0 For I = 1 To 40 For X = 1 To 1553 CellValuews1 = ws1.Cells(X, I).Value CellValuews2 = ws2.Cells(X, I).Value If CellValuews1 = CellValuews2 Then Else ws1.Cells(X, I).Interior.ColorIndex = 6 ws2.Cells(X, I).Interior.ColorIndex = 6 ErrorCount = ErrorCount + 1 End If Next Next MsgBox "There were " & ErrorCount & " Cells that didn't match. These are now highlighted yellow" End Sub