Board logo

標題: 請問for....next 可以中途返回for 繼續下一個程序嗎 [打印本頁]

作者: enoch    時間: 2012-3-1 11:14     標題: 請問for....next 可以中途返回for 繼續下一個程序嗎

請問在For .... Next  執行中可否加上 IF.....THEN ......  END IF 條件
若條件符合, 則中途返回FOR 繼續執行下一個程序
for x = 1 to 10
.
.
當 x = 5 時發覺條件符合, 則中途返回for 跳至x=6
再執行
.
.
NEXT
作者: hugh0620    時間: 2012-3-1 11:21

本帖最後由 hugh0620 於 2012-3-1 11:23 編輯

回復 1# enoch

     樓主的邏輯~ 感覺怪怪的~
     換個說法~ 只要是符合IF條件的就被執行

     也許樓主要的是這樣吧
     for X =1 to 10

        if X<>5 then
            msgbox "執行"
        end if

        next
作者: hugh0620    時間: 2012-3-1 11:28

本帖最後由 hugh0620 於 2012-3-1 11:54 編輯

回復 1# enoch

      這個或許是樓想要的方式~
      可以用goto的方式來處理
  1. Sub EX()
  2. x = 1
  3. 2
  4. For x = x To 10

  5.     If x = 5 Then
  6.        GoTo 1
  7.     End If
  8.    
  9. Next
  10. GoTo 3
  11. 1
  12. x = 6
  13. GoTo 2
  14. 3
  15. End Sub
複製代碼

作者: oobird    時間: 2012-3-1 11:53

Sub EX()
For x = 1 To 10
    If x = 5 Then Exit For
Next
MsgBox x
End Sub
作者: hugh0620    時間: 2012-3-1 12:00

回復 4# oobird


    O大大~ 你這樣寫法~ 就直接跳出FOR NEXT
    樓主想要的方式~ 是執行迴圈後~
    用IF判斷符合條件後~ 再跳到某一個X再繼續執行迴圈~
作者: kimbal    時間: 2012-3-1 13:52

vba 沒有提供for continue的方法
只能像hugh0620說的,用if來做分割
for X =1 to 10
    if 條件成立 then
         msgbox "執行"
    end if
    '這裡不放任何東西
next



for X =1 to 10
    if 條件成立 then
         goto endofloop:
    end if
    '這裡放條件不成立時做的東西
endofloop:
next



for X =1 to 10
    if 條件成立 then
         '這裡不放東西
    else
            '這裡放條件不成立時做的東西
    end if
next
作者: GBKEE    時間: 2012-3-1 14:28

是這樣嗎?
  1. Sub Ex()
  2.     Dim x
  3.     For x = 1 To 10
  4.     MsgBox x
  5.         If x = 5 Then x = 6
  6.     Next
  7. End Sub
複製代碼





歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)