在VBAProject中添加行值

时间:2018-02-23 15:44:33

标签: excel vba excel-vba nested-loops

假设我有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的原因就在那里。

2 个答案:

答案 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