|
代码放在第一个表里,运行大约需要5秒。
结果对不对需要你来核对,我大致上看了下感觉没问题。
Application.ScreenUpdating = False
Dim zd1
Set zd1 = CreateObject("scripting.dictionary")
For i = 2 To Worksheets("入库").[a100000].End(3).Row
s = Trim(Worksheets("入库").Cells(i, 1))
zd1(s) = zd1(s) + Worksheets("入库").Cells(i, "k")
Next i
Dim zd2
Set zd2 = CreateObject("scripting.dictionary")
For i = 2 To Worksheets("出库").[a100000].End(3).Row
s = Trim(Worksheets("出库").Cells(i, 1))
zd2(s) = zd2(s) + Worksheets("出库").Cells(i, "j")
Next i
Dim zd3
Set zd3 = CreateObject("scripting.dictionary")
For i = 2 To Worksheets("裥棉未完成数量").[a100000].End(3).Row
s = Trim(Worksheets("裥棉未完成数量").Cells(i, 1))
zd3(s) = zd3(s) + Worksheets("裥棉未完成数量").Cells(i, 2)
Next i
For i = 1 To [a10000].End(3).Row
s = Trim(Cells(i, 2))
If zd1.exists(s) Then
Cells(i, "q") = zd1(s)
End If
If zd2.exists(s) Then
Cells(i, "r") = zd2(s)
End If
If zd1.exists(s) Then
Cells(i, "y") = zd3(s)
End If
Next i
Application.ScreenUpdating = True
|
|