两个数据表如何VBA实现比对?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了两个数据表如何VBA实现比对?相关的知识,希望对你有一定的参考价值。

两个表格的数据格式基本相同,分别保存在“sheet1”和“sheet2”中,但由于是由两个人输入的,肯定会存在差异,现在需要进行比对,相同的在“核对”列标记ok,不相同的则不标记;“品名”、“数量”、“电话”必须一致,“时间”在两个日期差不大于2的情况下视为一致(如:9日和7日视为一致,因为9-7=2),否则视为不是同一笔业务,只有上述4个条件都一致时可标记为ok,否则不予标记。

很多人提过二个表格数据如何校对?现给出一个示例。为了方便看清除需要校对和被校对数据,这里把二个数据放在一张工作表中,第二个数据中黄色背景的数据与第一个数据不一样。

Sub text()
    Dim a, b, d
    a = [a2:f15]
    b = [a21:f34]
    Set d = CreateObject("Scripting.dictionary")
    For i = 1 To UBound(a)
        If Not d.exists(a(i, 2) & a(i, 3) & a(i, 4) & a(i, 5)) Then
           d(a(i, 2) & a(i, 3) & a(i, 4) & a(i, 5)) = ""
        End If
    Next
    For i = 1 To UBound(b)
        If d.exists(b(i, 2) & b(i, 3) & b(i, 4) & b(i, 5)) Then
           If Abs(a(i, 1) - b(i, 1)) <= 2 Then Cells(i + 1, 7) = "ok"
        End If
    Next
End Sub

参考技术A 说好工钱我会。

以上是关于两个数据表如何VBA实现比对?的主要内容,如果未能解决你的问题,请参考以下文章

excel两组数据中如何找出相同的数据并对应排列?

sql比对两个表中的差异数据比较的sql语句

如何自动比对excel两个表格中的资料并找出差异

VBA比较两个Excel数据的异同

如何用excel比对两个档案相同的资料

两个list比较交集,差集