我想执行列总和,一旦达到某个阈值,我想删除到目前为止的总和值,并且不允许它为接下来的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
答案 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)。