两个数据表如何VBA实现比对? 100
两个表格的数据格式基本相同,分别保存在“sheet1”和“sheet2”中,但由于是由两个人输入的,肯定会存在差异,现在需要进行比对,相同的在“核对”列标记ok,不相同的...
两个表格的数据格式基本相同,分别保存在“sheet1”和“sheet2”中,但由于是由两个人输入的,肯定会存在差异,现在需要进行比对,相同的在“核对”列标记ok,不相同的则不标记;“品名”、“数量”、“电话”必须一致,“时间”在两个日期差不大于2的情况下视为一致(如:9日和7日视为一致,因为9-7=2),否则视为不是同一笔业务,只有上述4个条件都一致时可标记为ok,否则不予标记。
展开
2个回答
展开全部
很多人提过二个表格数据如何校对?现给出一个示例。为了方便看清除需要校对和被校对数据,这里把二个数据放在一张工作表中,第二个数据中黄色背景的数据与第一个数据不一样。
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
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询