我正在尝试建立一个简单的宏,以基于A列的扩展数添加B列的总数。使用VBA,我有以下代码:
Sub SpacingTotals()
Dim Rng As Range, Dn As Range, Temp As Range
Set Rng = Range("A2", Range("A" & Rows.Count).End(xlUp))
Set Temp = Rng(1)
For Each Dn In Rng
If Not Dn.Value = Temp Then
Set Temp = Dn
End If
Dn.Offset(, 0) = Dn.Value
Temp.Offset(, 2) = Temp.Offset(, 2) + Dn.Offset(, 1).Value
Next Dn
End Sub
我遇到的问题更多是格式问题。我希望总计位于传播条件的最后一行,而不是第一行(参见图片)。
任何朝正确方向的推动都会受到赞赏。
答案 0 :(得分:2)
这是一个使用变量total
作为运行总计的版本。当下一行中的spread
与当前行不匹配时,total
将写在右侧列中。
Sub SpacingTotals()
Dim total As Long
Dim spread As Range
For Each spread In Range("A2:A" & Range("A" & Rows.count).End(xlUp).Row)
total = total + spread.offset(0, 1).Value2
If spread.Value2 <> spread.offset(1, 0).Value2 Then
spread.offset(0, 2).Value2 = total
total = 0
End If
Next spread
End Sub