求VBA代码,格式如图

如图【合同编号】一栏存在许多编号相同,但【业务编号】不同的几行数据。
现需要统计表中所有相同合同编号的发生金额,将汇总得到的金额填入【最后】一个业务编号的对应”发生金额“列中,【同时删除】掉其他几行。
例子就是上面那样,留下业务编号是12343和56784的两行,他们的发生金额是各自相同合同编号的汇总
求此VBA代码应该如何写
不知道怎么写判断条件……求大神帮忙……
(红色只是解释,不用写入代码)

第1个回答  推荐于2016-02-06
以下代码能满足你的要求:
Sub 汇总()
Dim Jz!, Ra As Range, Ra1 As Range
Set Ra = Cells.Find("合同编号")
Set Ra1 = Range(Ra.Offset(1), Ra.End(xlDown))
For Each Ra In Ra1
If Ra = Ra.Offset(1) Then
Jz = Jz + Ra.Offset(0, 3)
Ra.ClearContents
Else
Ra.Offset(0, 3) = Ra.Offset(0, 3) + Jz
Jz = 0
End If
Next
Ra1.SpecialCells(4).EntireRow.Delete
End Sub本回答被提问者采纳
第2个回答  2014-05-28
不用VBA的。在你的E11里输入:
=SUM(INDIRECT("e"&MIN(IF(A:A=A10,ROW(A:A)))+1):INDIRECT("e"&MIN(IF(A:A=A11,ROW(A:A))))并且同时按ctrl+shift+回车。
A12的公式可以从A11拖下来。
结果没问题请先采纳。有错误请继续问。