Excel VBA - 如何在Do Until ...循环中跳到下一次迭代

时间:2016-10-05 07:08:57

标签: vba excel-vba excel

我正在尝试使用'continue'语句跳到我的vba代码中的下一次迭代。它无法正常工作..

    <!--EMAIL-->
<android.support.design.widget.TextInputLayout
    android:id="@+id/email_wrapper"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:theme="@style/TextLabel">

    <EditText
        android:id="@+id/etUserName"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="@string/login_screen_email_hint"
        android:imeOptions="actionNext"
        android:inputType="textEmailAddress"
        android:maxLines="1"
        android:nextFocusDown="@+id/etPassword"
        android:singleLine="true"
        android:textColor="@android:color/white"
        android:textColorHighlight="@android:color/white"
        android:textColorHint="@android:color/white" />

</android.support.design.widget.TextInputLayout>

任何想法? 感谢..

2 个答案:

答案 0 :(得分:4)

VBA没有Continue声明。您可以通过执行类似

的操作来绕过它
Do Until IsEmpty(xlSheet.Cells(row + 1, 1))
   row = row + 1
   If xlSheet.Cells(row, 2) <> "Epic" Then
       xlSheet.Cells(row, 1).Value = 5
   End If
Loop

Do Until IsEmpty(xlSheet.Cells(row + 1, 1))
    row = row + 1
    If xlSheet.Cells(row, 2) = "Epic" Then
        GoTo ContinueDo
    End If
    xlSheet.Cells(row, 1).Value = 5
ContinueDo:
Loop

注意:在这两个版本中,我都将IsEmpty(xlSheet.Cells(row, 1))更改为IsEmpty(xlSheet.Cells(row + 1, 1)),否则最终会出现无限循环。

答案 1 :(得分:1)

所以这是另一种对我有用的可能性。只需跳过不需要的行......

Do Until IsEmpty(xlSheet.Cells(row, 1))
   row = row + 1
   Do while xlSheet.Cells(row, 2) = "Epic" 
      row = row + 1
   Loop
   xlSheet.Cells(row, 1).Value = 5
Loop