1. 首页 > 科技

求各位大神指点:VBA中如何做阶段性累计求和,判断一段结束同时开启下一段累计求和,直到结束

求各位大神指点:VBA中如何做阶段性累计求和,判断一段结束同时开启下一段累计求和,直到结束

Excel vba累加求和

'定义一个宏就行了

Sub mysum()

Dim i As Integer, r As Integer, c As Integer

Dim size As Variant

size = Array(4, 3, 3)

With ActiveSheet

r = .UsedRange.Row

c = .UsedRange.Column

For i = LBound(size) To UBound(size)

.Cells(r, c + 2).Resize(size(i)).Value = WorksheetFunction.sum(.Cells(r, c).Resize(size(i)))

r = r + size(i)

Next i

End With

End Sub

EXCEL中累计循环求和的VBA语句

所先在界面上拉一个窗体,其标题改为累计

之后在其中加入以下代码

Sub 累计_单击()

Cells(1, 2) = Cells(1, 2) + Cells(1, 1)

......

End Sub

其中的Cells(1, 2) = Cells(1, 2) + Cells(1, 1)即为在B1中累计A1的数值

其余的请自己添加(因不清楚你具体要的是哪些单元),可以用热循环作业

EXCEL中累计循环求和

右键点这个工作表的名字(在下面呢),查看代码,粘贴如下内容:

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Column = 1 Then Target.Offset(0, 1) = Target.Offset(0, 1) + Target

If Target.Column = 3 Then Target.Offset(0, 1) = Target.Offset(0, 1) + Target

End Sub

回到Excel,这可以实现在第1或第3列的任意一格输入数字,该单元格的后一格累计求和。

如何在excel中用VBA代码实现有条件的累加,变量是数组的,循环结束后一次性将结果返回到表里

有几个问题:

1.当A列是相同文本时,这是连续的吗?比如是:11223444576...还是112123332...

2.关于你说的第3点就是这个描述,A1跟A2不相等,但是跟A3相等,这样需要B1和B3的值相加吗?

这两点确认的是同一个问题,如果只需要判断A列跟上一行的值是否相等会简单的多。如果不是就会比较复杂一点。