今天有同事发现需要A列和B列相同的数,把C列相加,这边我们用字典操作最快:
source Worksheet :
这边我们可以忽略D E F G列,那些只是公式
上CODE:
Sub Combine2()
Dim r As Integer
Dim sht_s As Worksheet ' source sht
Dim sht_r As Worksheet ' result sht
Set sht_s = ThisWorkbook.Worksheets("source")
Set sht_r = ThisWorkbook.Worksheets("result")
arr = sht_s.Range("a1").CurrentRegion
Set d = CreateObject("scripting.dictionary")
For i = 2 To UBound(arr)
If d.exists(arr(i, 1) & arr(i, 2)) Then
d(arr(i, 1) & arr(i, 2)) = Array(arr(i, 1), arr(i, 2), arr(i, 3) + d(arr(i, 1) & arr(i, 2))(2), arr