W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎勵
For 計數(shù)器 = 開始 To 結(jié)束 [步長]
語句1
語句2
語句N
Next [計數(shù)器]
括號里面的代碼是可選的。計數(shù)器是個儲存反復(fù)次數(shù)的數(shù)字型變量,開始是你期望的起始計數(shù)點(diǎn),結(jié)束則表明循環(huán)應(yīng)該執(zhí)行多少次。
例如,你想要重復(fù)執(zhí)行循環(huán)里的語句5次,使用下述For語句:
For counter = 1 To 5
你的語句Next
當(dāng)VB遇到關(guān)鍵字Next時,它將回到循環(huán)的開始處,并且再次執(zhí)行循環(huán)里面的代碼,直到計數(shù)器到達(dá)結(jié)束值。一旦計數(shù)器的值大于關(guān)鍵字To后面的數(shù)值,VB就會跳出循環(huán)。因?yàn)橛嫈?shù)器變量在每次執(zhí)行循環(huán)后會自動地變化,它早晚會超出結(jié)束的值。每次VB執(zhí)行循環(huán)里的語句后,變量計數(shù)器的值會默認(rèn)地增加1,你可以使用Step語句來改變這個默認(rèn)設(shè)置。例如,要使計數(shù)器每次增加3,就可以使用以下語句:
For counter = 1 To 5 Step 3
你的代碼Next counter
當(dāng)VB遇到上面的語句,它會執(zhí)行循環(huán)里的語句兩次。在第一次的循環(huán)里,counter等于1,第二次則等于4(3+1)。在執(zhí)行兩次循環(huán)后,counter就等于7(4+3),這導(dǎo)致VB退出該循環(huán)。
注意,步長(Step)是可選的??蛇x語句總是顯示則方括號里面(參加本段開頭部分的語法)。步長不需要明確,除非它不等于1。你可以在Step后面放個負(fù)值作為步長,那么VB每次遇到關(guān)鍵字Next后都會將計數(shù)器減小。
如何將For…Next循環(huán)使用在Excel里面呢?假使你只想要在你的銷售報告里面包括某幾個特定月份的產(chǎn)品銷售,當(dāng)你從Access導(dǎo)入數(shù)據(jù)時,你同樣也會將那些銷售額為0的數(shù)據(jù)行一起導(dǎo)入。你如何快速取出數(shù)據(jù)為0的行呢?盡管,有很多種方法可以解決這個問題,但是,我們來看看如何使用For…Next循環(huán)來處理這個問題吧。
Sub DeleteZeroRows()
Dim totalR As Integer
Dim r As Integer
Range("A1").CurrentRegion.Select
totalR = Selection.Rows.Count
Range("B2").Select
For r = 1 To totalR-1
If ActiveCell = 0 Then
Selection.EntireRow.Delete
totalR = totalR – 1
Else
ActiveCell.Offset(1, 0).Select
End If
Next r
End Sub
3. 切換到Excel界面,并且準(zhǔn)備下述表格:
4. 運(yùn)行過程DeleteZeroRows。
我們來一行接一行地檢查一下過程DeleteZeroRows。開始兩語句計算當(dāng)前區(qū)域的總行數(shù),并且將該值儲存于變量totalR,接下來,VB選擇單元格B2然后遇到關(guān)鍵字For。因?yàn)殡娮颖砀竦牡谝恍邪?/span>了列標(biāo)題,所以要從總行數(shù)里減掉1(totalR-1)。
VB將需要執(zhí)行循環(huán)里面的指令6次。嵌套在循環(huán)里面的條件語句(If…Then…Else)告訴VB根據(jù)當(dāng)前活動單元格的值作出決定。如果該值為0,VB就刪除當(dāng)前行,并且將總行數(shù)減掉1。否則,條件為假,因此,VB將選擇下一行的單元格。
VB每完成一次循環(huán),它就跳到關(guān)鍵字For來比較r的值和totalR-1的值。當(dāng)過程結(jié)束后,銷售表里就不會包含沒有銷售的產(chǎn)品了。
技巧: 成對語句
For和Next必須是成對的,如果有一個漏掉了,VB就將產(chǎn)生一個錯誤信息“For沒有Next”
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: