在我看来,使用实现的功能一定是最好的解决方案。
所以:
Sub Consolidate()
With ActiveSheet
.Columns("A:B").Copy Destination:=.Columns("D:E")
.Columns("D:E").RemoveDuplicates Columns:=1, Header:=xlNo
lLastRow = .Columns("D").Cells(.Rows.Count, 1).End(xlUp).Row
.Range("E1:E" & lLastRow).FormulaR1C1 = "=SUMIF(C[-4],RC[-1],C[-3])"
End With
End Sub
,或者干脆利用Consolidate
Sub Consolidate2()
With ActiveSheet
.Range("D1").Consolidate Sources:="C1:C2", Function:=xlSum, _
TopRow:=False, LeftColumn:=True, CreateLinks:=False
End With
End Sub
注意,Sources:="C1:C2"
在R1C1表示法中给出。所以它意味着Column1到Column2。
谢谢。有用!我通过了第一个。我尝试了数据合并方法。但它给了我一个问题。 –