W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
到目前為止,你已經(jīng)在本章里嘗試了很多種循環(huán)了,每種過(guò)程示范每個(gè)循環(huán)結(jié)構(gòu)的使用。然而,在編程中,一循環(huán)總是放在另外一循環(huán)中的。VB允許你將不同類(lèi)型的循環(huán)(For和Do循環(huán))“嵌套”在同一個(gè)過(guò)程里。當(dāng)你編寫(xiě)循環(huán)嵌套時(shí),請(qǐng)確保每個(gè)內(nèi)部的循環(huán)在外部循環(huán)里面已經(jīng)完成。另外,每個(gè)循環(huán)都必須有其自己獨(dú)特的計(jì)數(shù)器變量。如果使用循環(huán)嵌套,你可以更有效地執(zhí)行特定的任務(wù)。
下面顯示的過(guò)程ColorLoop示范如何嵌套一個(gè)For…Next循環(huán)在另一個(gè)For…Next循環(huán)里面:
Sub ColorLoop()
Dim myRow As Integer
Dim myCol As Integer
Dim myColor As Integer
myColor = 0
For myRow = 1 To 8
For myCol = 1 To 7
Cells(myRow, myCol).Select
myColor = myColor + 1
With Selection.Interior
.ColorIndex = myColor
.Pattern = xlSolid
End With
Next myCol
Next myRow
End Sub
上面的過(guò)程ColorLoop使用了兩個(gè)For…Next循環(huán)來(lái)改變工作表中前面八行和七列里的每個(gè)單元格的顏色。當(dāng)外部的循環(huán)在追蹤行號(hào)的時(shí)候,內(nèi)部的循環(huán)在做更多的事情,它首先確定當(dāng)前的列號(hào),基于當(dāng)前的行號(hào)的列號(hào)選擇適當(dāng)?shù)膯卧瘢缓蠼o所選的單元格設(shè)置顏色。
內(nèi)部的For…Next循環(huán)給工作表的第一行的七個(gè)單元格(A1, B1, C1, D1, E1, F1和G1)設(shè)置不同的顏色。當(dāng)變量myCol大于7時(shí),VB跳回外部循環(huán)并且變量myRow增加1,再回到內(nèi)部循環(huán)去設(shè)置下一行單元格的顏色。當(dāng)過(guò)程結(jié)束時(shí),56個(gè)單元格(8*7)被設(shè)置了當(dāng)前調(diào)色板上可用的所有顏色。第一個(gè)單元格,A1,被設(shè)置了黑色(顏色索引號(hào)為1),第二個(gè)單元格B1則被設(shè)置為白色了(顏色索引號(hào)為2)。每次單元格地址變化——Cells(myRow, myCol).Select——變量myColor的內(nèi)容也會(huì)改變——myColor = myColor + 1
在本章里,你學(xué)習(xí)了如何在循環(huán)里重復(fù)一組代碼。通過(guò)使用好幾種類(lèi)型的循環(huán),你看到了每種循環(huán)
稍稍不同地進(jìn)行重復(fù)。你有了經(jīng)驗(yàn)后,你將更容易地選擇合適的控制結(jié)構(gòu)來(lái)執(zhí)行你的任務(wù)。
在本教程后續(xù)的章節(jié)中,將會(huì)有更多的使用循環(huán)的例子。例如,在下章里,你將看到如何使用數(shù)組合嵌套的循環(huán)來(lái)創(chuàng)建一個(gè)VBA過(guò)程,該過(guò)程將幫你選擇彩票號(hào)碼。在下章里,你將學(xué)習(xí)如何處理大量的數(shù)據(jù),而不會(huì)迷失在變量的海洋里。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: