vba十四課
for……next實例
for……next是指定次數(shù)重復(fù)執(zhí)行的一組語句
語法:for 計數(shù)變量=初始值 to 終止值 [step步長值]
在for next語句中還有一個知識點(diǎn)就是exit for
當(dāng)我們在for循環(huán)中,它一定會按計量變數(shù)的數(shù)值循環(huán)完畢,舉個例子,當(dāng)有1000次循環(huán)時,滿足循環(huán)條件的循環(huán)在100次,這時代碼還繼續(xù)往下循環(huán)直到1000次循環(huán)完畢后方才跳出循環(huán),而后面的900次循環(huán)對我們來說是沒有意義的,這時就需要exit for了,同時也提高了程序的運(yùn)行效率,縮短程序的運(yùn)行時間。
例:查找表一A列姓名為李四的單元格,并把李四所在的單元格背景色設(shè)為紅色
Sub fornext循環(huán)()
Dim a!
For a = 2 To 11
If Sheets(1).Range('a' & a) = '李四' Then
Sheets(1).Range('a' & a).Interior.ColorIndex = 3
Exit For
End If
Next
End Sub
注釋:當(dāng)a=5的時候滿足條件,然后exit for退出了循環(huán),也就是a等于6至11就不執(zhí)行了,直接跳出for循環(huán)
例:制作乘法口決表
Sub 乘法口決表()
Dim a!, b!
For a = 1 To 9
For b = 1 To 9
If b > a Then
Sheets(2).Cells(a, b) = ''
Else
Sheets(2).Cells(a, b) = a & 'x' & b & '=' & a * b
End If
Next
Next
End Sub
注釋:
1、這段代碼中用了兩個for,怎么理解呢,首先a=1 ,然后b=1循環(huán)至9,跳出第二個for的循環(huán),接著a=2,b再次循環(huán)至9,直到a循環(huán)至9為止跳出第一個循環(huán),而b呢進(jìn)行了九次循環(huán),a只進(jìn)行了1次循環(huán),這就是多循環(huán)的層級關(guān)系,至此兩個for語句就都循環(huán)完畢了
2、Sheets(2).Cells(a, b) = ''
當(dāng)b>a的時候,單元格cells(a,b)的值為空, b在單元格cells(a,b)中代表列號,a 代表行號,而根據(jù)乘法口決表的規(guī)則,上半部是不顯示的,所以為空
3、Sheets(2).Cells(a, b) = a & 'x' & b & '=' & a * b
當(dāng)b<>
這段代碼大家可以單步執(zhí)行,運(yùn)行一下,理解它的邏輯,只要理解清了這段代碼是很好理解的,最好大家自己寫一下,包括我前面的文章,只有自己多寫代碼才能學(xué)好它,光看是不能學(xué)好vba的,也希望與大家多多互動,有問題可以私信我。
如果覺得有幫助的話記得關(guān)注和點(diǎn)贊,有不懂的地方可以私信我,需要表格素材的也可私信給我轉(zhuǎn)發(fā)給你們。
如果各位在實際工作中遇見excel常規(guī)方法無法解決的或操作比較復(fù)雜的報表可以私信我,可以免費(fèi)編寫代碼來解決!
聯(lián)系客服