两个数据表如何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实现比对?的主要内容,如果未能解决你的问题,请参考以下文章