如何在uft

时间:2016-04-12 12:04:47

标签: excel-vba for-loop iteration skip vba

我从外部Excel工作表导出两个工作表,sheet1命名为Global,sheet2命名为Data。

全局工作表包含登录详细信息,数据表包含多个输入。

我在数据表中有两行以上,想要跳过该行(如果pi = 01)并运行数据表中的下一行。

代码:

case 51

if processindicator = 01 then 
ExitActionIteration
Else
"statement"
End If

但它正在跳过所有迭代而不是当前迭代

帮我解决这个问题并提前致谢

2 个答案:

答案 0 :(得分:0)

由于我们没有看到您的所有代码,因此很难说清楚。但也许以下示例是您正在寻找的。基本上,它将从1到100,只是跳过数字51:

Public Sub TestSkippingOfAnIteration()

Dim i As Long

For i = 1 To 100
    If i = 51 Then i = i + 1
    Debug.Print i
Next i

End Sub

如果能解决您的问题,请告诉我。否则,请详细说明并张贴所有相关代码。

答案 1 :(得分:0)

将条件代码包装在If语句中:

For i = 1 To 10
    ...
    If processIndicator <> 1 Then
        '// do whatever you want here
    End If
Next

或(不太建议,因为它降低了可读性和逻辑性)使用GoTo语句:

For i = 1 To 10
    ...
    If processIndicator = 1 Then
        GoTo Skip_Line:
    Else
        '// do whatever you want here
    End If
    ...

Skip_Line:
Next