0

私はまた物事を複雑にしすぎていると感じています。以下のスクリプトは、私がやろうとしていることの基本です。私が抱えている問題は、メッセージボックスにあります。

基本的に、条件 B の失敗 (および終了) には msgbox が必要であり、ループの正常終了には msgbox が必要です。だから、彼らはそれぞれ異なる条件に従う必要がありますが、それを行う方法がわかりませんか?

For i = 1 To Val(days)
If hasrun = False Then
    If condition A <> 0 Then do nothing
        ElseIf condition A = 0 Then
            Do this...
    End If
If condition B <> 0 Then
    Exit For
ElseIf condition B  = 0 Then
    Do that…
End If
 Do this other code...   
hasrun = True
Next i
    MsgBox "Script exited because condition B already existed"

    MsgBox "Script finished successfully."
End if
4

1 に答える 1

2

フラグ変数を使用して、問題が見つかったという事実を記録できます。

Dim blnBFail As Boolean     
For i = 1 To Val(days)
If hasrun = False Then
    If condition A <> 0 Then do nothing
        ElseIf condition A = 0 Then
            Do this...
    End If
If condition B <> 0 Then
    blnBFail = True
    Exit For
ElseIf condition B  = 0 Then
    Do that…
End If
 Do this other code...   
hasrun = True
Next i

If blnBFail then
    MsgBox "Script exited because condition B already existed"
Else
    MsgBox "Script finished successfully."
EndIf
End if
于 2013-03-27T18:02:21.203 に答える