|
1学分
本帖最后由 15968725770 于 2022-11-21 21:25 编辑
物料编码对应汇总
这边打开工作表名称是中文的,如果不一样,代码自己改改
Sub test()
Dim vArr, brr, crr, dic As Object, i%, j%
vArr = 工作表2.Range("A2").CurrentRegion.Resize(, 15)
brr = 工作表1.Range("A2").CurrentRegion
ReDim crr(1 To UBound(brr) - 1, 1 To 2)
Set dic = VBA.CreateObject("scripting.dictionary")
For i = 2 To UBound(brr)
dic(brr(i, 1)) = i - 1
Next i
For j = 2 To UBound(vArr)
If dic.exists(vArr(j, 1)) Then
crr(dic(vArr(j, 1)), 1) = crr(dic(vArr(j, 1)), 1) + vArr(j, 13)
crr(dic(vArr(j, 1)), 2) = crr(dic(vArr(j, 1)), 2) + vArr(j, 15)
End If
Next j
工作表1.Range("K3").Resize(UBound(crr), 2).ClearContents
工作表1.Range("K3").Resize(UBound(crr), 2) = crr
End Sub
|
最佳答案
查看完整内容
这边打开工作表名称是中文的,如果不一样,代码自己改改
Sub test()
Dim vArr, brr, crr, dic As Object, i%, j%
vArr = 工作表2.Range("A2").CurrentRegion.Resize(, 15)
brr = 工作表1.Range("A2").CurrentRegion
ReDim crr(1 To UBound(brr) - 1, 1 To 2)
Set dic = VBA.CreateObject("scripting.dictionary")
For i = 2 To UBound(brr)
dic(brr(i, 1)) = i - 1
Next i
For ...
|