假设我有EXCEL 1列(100行)的整数,其值介于1和10之间(lrow是最后一行)。使用VB,我试图将行添加到给定的总和(例如:25)到FIND THE ROW,当给定的总和(或更少,如果添加最后一行将使总和超过25)实现。
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
var j没有增加。它不断添加第一行。为什么?
注意:我想继续添加从第一次迭代的结束位置(行)开始的其余行。为什么i = j-1的原因就在那里。
答案 0 :(得分:2)
您不需要两个循环:
for( std::thread& t: m_pool ) {
t.join();
}
m_pool.clear();
继续按下列并在每次超过25时打印出来:
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
答案 1 :(得分:0)
我喜欢以下
For i = 1 To lRow
sum = sum + Cells(i, 1).Value
If sum <= 25 Then i25 = i
Next
这样:
sum将存储单元格值的总和
i25将存储总和为25或更少的行,如果总和超过25,则行i25 + 1