請問for....next 可以中途返回for 繼續下一個程序嗎
- 帖子
- 176
- 主題
- 98
- 精華
- 0
- 積分
- 279
- 點名
- 0
- 作業系統
- window 7
- 軟體版本
- office 2007
- 閱讀權限
- 20
- 性別
- 男
- 註冊時間
- 2011-2-17
- 最後登錄
- 2020-4-8
|
請問for....next 可以中途返回for 繼續下一個程序嗎
請問在For .... Next 執行中可否加上 IF.....THEN ...... END IF 條件
若條件符合, 則中途返回FOR 繼續執行下一個程序
for x = 1 to 10
.
.
當 x = 5 時發覺條件符合, 則中途返回for 跳至x=6
再執行
.
.
NEXT |
|
|
|
|
|
|
- 帖子
- 559
- 主題
- 58
- 精華
- 0
- 積分
- 626
- 點名
- 0
- 作業系統
- win8
- 軟體版本
- office2013
- 閱讀權限
- 50
- 性別
- 男
- 來自
- TW
- 註冊時間
- 2010-11-22
- 最後登錄
- 2024-6-14
|
2#
發表於 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 |
|
學習才能提升自己
|
|
|
|
|
- 帖子
- 559
- 主題
- 58
- 精華
- 0
- 積分
- 626
- 點名
- 0
- 作業系統
- win8
- 軟體版本
- office2013
- 閱讀權限
- 50
- 性別
- 男
- 來自
- TW
- 註冊時間
- 2010-11-22
- 最後登錄
- 2024-6-14
|
3#
發表於 2012-3-1 11:28
| 只看該作者
本帖最後由 hugh0620 於 2012-3-1 11:54 編輯
回復 1# enoch
這個或許是樓想要的方式~
可以用goto的方式來處理- Sub EX()
- x = 1
- 2
- For x = x To 10
- If x = 5 Then
- GoTo 1
- End If
-
- Next
- GoTo 3
- 1
- x = 6
- GoTo 2
- 3
- End Sub
複製代碼 |
|
學習才能提升自己
|
|
|
|
|
- 帖子
- 1572
- 主題
- 16
- 精華
- 2
- 積分
- 1521
- 點名
- 0
- 作業系統
- xp
- 軟體版本
- office 2003
- 閱讀權限
- 150
- 性別
- 男
- 註冊時間
- 2010-5-1
- 最後登錄
- 2016-1-13

|
4#
發表於 2012-3-1 11:53
| 只看該作者
Sub EX()
For x = 1 To 10
If x = 5 Then Exit For
Next
MsgBox x
End Sub |
|
|
|
|
|
|
- 帖子
- 559
- 主題
- 58
- 精華
- 0
- 積分
- 626
- 點名
- 0
- 作業系統
- win8
- 軟體版本
- office2013
- 閱讀權限
- 50
- 性別
- 男
- 來自
- TW
- 註冊時間
- 2010-11-22
- 最後登錄
- 2024-6-14
|
5#
發表於 2012-3-1 12:00
| 只看該作者
回復 4# oobird
O大大~ 你這樣寫法~ 就直接跳出FOR NEXT
樓主想要的方式~ 是執行迴圈後~
用IF判斷符合條件後~ 再跳到某一個X再繼續執行迴圈~ |
|
學習才能提升自己
|
|
|
|
|
- 帖子
- 472
- 主題
- 5
- 精華
- 0
- 積分
- 485
- 點名
- 0
- 作業系統
- Windows
- 軟體版本
- MS Office
- 閱讀權限
- 100
- 性別
- 男
- 來自
- 香港
- 註冊時間
- 2010-7-4
- 最後登錄
- 2014-12-28

|
6#
發表於 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 |
|
|
|
|
|
|
- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
7#
發表於 2012-3-1 14:28
| 只看該作者
是這樣嗎?- Sub Ex()
- Dim x
- For x = 1 To 10
- MsgBox x
- If x = 5 Then x = 6
- Next
- End Sub
複製代碼 |
|
|
|
|
|
|