Option Explicit
Sub test()
Dim d As Object, ar, i&, j&, k&, s$
Set d = CreateObject("Scripting.Dictionary")
ar = Sheets("报工数据").Range("a3:a" & Sheets("报工数据").Cells(Rows.Count, 1).End(xlUp).Row)
For i = 1 To UBound(ar)
If Not d.Exists(ar(i, 1)) Then d(ar(i, 1)) = i
Next
ReDim br(1 To UBound(ar), 1 To 2)
ar = Sheets("sgm表数据").Range("a3:c" & Sheets("sgm表数据").Cells(Rows.Count, 1).End(xlUp).Row)
For i = 1 To UBound(ar)
s = ar(i, 1)
If d.Exists(s) Then
k = d(s)
For j = 1 To 2
br(k, j) = br(k, j) + ar(i, j + 1)
Next
End If
Next
Sheets("报工数据").[b3].Resize(UBound(br), 2) = br
Set d = Nothing
End Sub |