比较两个EXCEL工作表并将类似数据复制到第三张工作表上

时间:2018-01-22 04:00:00

标签: excel vba excel-vba

我写了一个vba代码,允许我比较两个EXCEL工作表并将类似的行粘贴到第三个工作表。这是:

Frames

Sheet1是先前声明的“OWS”, Sheet2是先前声明的“NWS”, Sheet2是先前声明的“CompareWS”

问题是,此代码停止比较单元格级别的单元格;例如,如果两行(每个工作表中有一行)以相同的数据开头,则基于此单元格,即使其余数据不匹配,程序也会将这两行视为相同。

我怀疑“对于Z ......”的条件是没有超出应有的范围,但不知道如何修复它。

旧数据示例: OldData

新数据示例: NewData

根据这些数据,比较数据看起来像: ComparedData

希望这会有所帮助

提前感谢您对此有所了解。

最佳。

1 个答案:

答案 0 :(得分:0)

致@Mark Ba​​lhoff的信用:我会这样试试

j = 2
For i = 2 To OLast_row
   IsEqual = False
   For j = 2 To NLast_row
        isequal=true
        For Z = 1 To OLast_clmn
            If OWS.Cells(i, Z).Value <> NWS.Cells(j, Z).Value Then
                IsEqual = False
                exit for
            End If
        Next
        If IsEqual = True Then
              ' copy cells
        End If
   Next
Next