0
我想写一个VBA代码,只要值为“1”就对行的值进行求和,然后总计行的值,只要该值为“ - ” 1“,然后循环直到该行为空。VBA:根据重复条件分别合计行值
见所附截屏
请注意,标准不重复5次,而是经常变化。
我想写一个VBA代码,只要值为“1”就对行的值进行求和,然后总计行的值,只要该值为“ - ” 1“,然后循环直到该行为空。VBA:根据重复条件分别合计行值
见所附截屏
请注意,标准不重复5次,而是经常变化。
我写了下面的代码,这似乎工作。它期望您选择要加总的值的列(最后不要有空格),并根据右边的列将相关总计添加到第三列。
Sub MyProc()
Dim inputRange As Range
Set inputRange = Selection
Dim Cell As Range
Dim RunningTotal As Integer
Dim VerticalOffset As Integer
Dim PreviousCellFlag As Integer
PreviousCellFlag = 0
For Each Cell In inputRange
If Cell.Offset(0, 1) <> PreviousCellFlag Then
PreviousCellFlag = Cell.Offset(0, 1)
RunningTotal = 0
VerticalOffset = 0
While Cell.Offset(0, 1) = Cell.Offset(VerticalOffset, 1)
RunningTotal = RunningTotal + Cell.Offset(VerticalOffset, 0).Value
VerticalOffset = VerticalOffset + 1
Wend
Cell.Offset(0, 2) = RunningTotal
Else
Cell.Offset(0, 2) = ""
End If
Next Cell
End Sub
如果你的数据在A2
开始,用这个公式在C2
然后复制/粘贴在C
列:
=IF(B2=B1,"",SUMPRODUCT(OFFSET(A2,,,MATCH(TRUE,B3:B$1000<>B2,0))))
你尝试过这么远吗?分享你的代码尝试。 –
请阅读:https://stackoverflow.com/help/how-to-ask –
嗨,嗨,我真的还没有试图拿出代码呢。我浏览过去,看看过去有没有相关的帖子可以适应我的需求。 – jason