在阈值之后擦除总和

时间:2018-03-15 15:55:07

标签: c

我想执行列总和,一旦达到某个阈值,我想删除到目前为止的总和值,并且不允许它为接下来的3个步骤添加任何新值,但我不知道该怎么做这个。有人能帮我吗。这是我到目前为止所拥有的。

Dim i As Long
i = 1
Do While Wkb.Worksheets(i).Visible = False
    If i >= Wkb.Worksheets.Count Then
        MsgBox "No visible sheet found"
        Exit Do
    End If
    i = i + 1
Loop
Debug.Print Worksheets(i).Name 'first visible sheet

3 个答案:

答案 0 :(得分:5)

你可以推进内循环计数器,例如

for (i = 0; i < col; i++) {
    sumC = 0;
    for (j = 0; j < row; j++)
    {
        sumC += matrix[j][i];

        if (sumC > 1.5) {
            sumC = 0;
            j += 3;            // <<<
        }
    }
}

注意:这假设你不想继续接下来的3个步骤&#34;如果在列的末尾附近达到阈值,则进入以下列。

答案 1 :(得分:1)

一种可能的解决方案是添加一个计数器c,该计数器在3个步骤后重置:

int c = 0;
for (i = 0; i < col; i++) {
    sumC = 0;
    for (j = 0; j < row; j++)
    {
        if (c == 0) {
            sumC += matrix[j][i];
        } else {
            c = (c + 1) % 4;
        }

        if (sumC > 1.5) {
            sumC = 0;
            c++;
        }
    }
}

答案 2 :(得分:-1)

我不知道我是否理解corectelly: 在循环之前放一个变量,让我们说双Sumc2 =阈值。 放入一个condituon IF,当达到重置Sumc的值时,在合理的序列中,用3增加你想要的步骤(i或j)。