在VBAPProject中添加行值
假设我有一列(100行)的整数,其值介于1和10之间(lrow是最后一行)。在VB中,我尝试将行添加到一个给定的总和(例如:25),以在达到给定的总和(如果添加最后一行将使总和超过25,则更少)时找到该行在VBAPProject中添加行值,vba,excel,nested-loops,Vba,Excel,Nested Loops,假设我有一列(100行)的整数,其值介于1和10之间(lrow是最后一行)。在VB中,我尝试将行添加到一个给定的总和(例如:25),以在达到给定的总和(如果添加最后一行将使总和超过25,则更少)时找到该行 For i = 1 To lRow Do While sum < 25 sum= sum+ Cells(i, 1).Value Cells(2, 5).Value = sum Next j i
For i = 1 To lRow
Do While sum < 25
sum= sum+ Cells(i, 1).Value
Cells(2, 5).Value = sum
Next j
i = j-1
Loop
Next i
i=1至lRow的
当总和<25时执行此操作
总和=总和+单元格(i,1)。数值
单元格(2,5)。值=总和
下一个j
i=j-1
环
接下来我
var j不增加。它不断添加第一行。为什么?
注意:我想继续添加从第一次迭代的结束位置(行)开始的其余行。i=j-1的原因就在这里 您不需要两个循环:
For i = 1 to lRow
Sum =Sum + ActiveSheet.Cells(i, 1).Value
If Sum >= 25 then exit for
Next i
ActiveSheet.Cells(2, 5).Value = sum
Msgbox "Stopped at Row: " & i
要继续向下列并在每次超过25时获得打印输出,请执行以下操作:
For j = 1 To lrow
For i = j To lrow
Sum = Sum + ActiveSheet.Cells(i, 1).Value
If Sum >= 25 Then Exit For
Next i
ActiveSheet.Cells(i, 5).Value = Sum
Sum = 0
j = i
Next j
我会像下面那样去
For i = 1 To lRow
sum = sum + Cells(i, 1).Value
If sum <= 25 Then i25 = i
Next
i=1至lRow的
总和=总和+单元格(i,1)。数值
如果求和,该代码将不会运行,因为您有Next j
,而没有相应的For
。先把它修好。或者发布你的真实代码。