【发布时间】:2020-10-17 20:11:01
【问题描述】:
所以我试图对一列进行累积求和,直到达到一个值,然后在与该值列相邻的列中,添加某种文本,指示一个和的结束位置和一个新的开始位置。接下来,我想用 0 值从上次中断的地方重新开始求和,并继续这样做,直到没有更多的值可以求和。
这是我所拥有的,但它似乎无法正常工作(即使“~3815”的总和尚未达到,它也会过早地开始递增到下一步:
Private Sub NumberOfTrucks_Click()
Dim j As Integer
Dim i As Integer
'~~> j stands for number of summed segments
j = 1
dbSumTotal = 0
lastrow = Range("AU" & Rows.Count).End(xlUp).Row
For i = 3 To lastrow Step 1
'~~> in column AU are the numbers for the sum
dbSumTotal = dbSumTotal + Cells(i, "AU").Value
'~~> write value to cell and reset sum to 0
If dbSumTotal >= 3815.9999999 Then
dbSumTotal = 0
'~~> for next sum raise the segment number
j = j + 1
End If
Cells(i, "AX") = j
Next i
MsgBox ("Completed")
End Sub
【问题讨论】:
-
您是否希望它在 AX 列中依次为 1、2、3、4、5 等,直到总和达到 3815,然后返回 1 并重新开始?如果是这样,设置
j = 0而不是1,在dbsumtotal = 0行下方添加j = 0,然后在j = j + 1行上方添加Else。 -
你似乎没有在任何地方写
dbSumTotal。AX应该是总和还是行数? -
没关系,我知道问题出在哪里。给我一秒钟。