for循環語句在VBA中扮演著比較重要的角色,為我們批量的處理表格數據提供了一個很好的途徑,下面小編根據自己的一些親身經驗為大家分享一下Excel VBA中for循環語句的兩個用法吧!
工具/原料
office Excel軟件
具備一定的VB基礎更好
方法/步驟
我們常用的for循環語句有兩種,一個是for ……next結構;一個是For each……next結構。這兩種結構主要都是針對多數據循環遍歷的時候用到的。那麼下面我將分別來介紹一下兩種循環結構的具體用法,首先還是要打開VBA編輯器
1.for……next結構
這個結構一般是這樣的:
for i=初始值 to 結束值 step 步長值
……
next
具體解釋一下,初始值指的是循環開始的值,結束值指的是循環結束的值,實質上就是i值得一個判斷,如果i值在起始值和結束值之間,那麼進入循環語句,然後i值每運行到next語句後會自動加一個步長值,直至i值超出了初始值到結束值這個範圍,循環才會結束。這裡要說明一下”step 步長值“往往是省略掉的,省略掉的話,步長取默認值為1。下面將以一段小實例來具體說明這個結構的用法:
實例:在sheet1工作表中一次輸出1到10這個數,顯示在第一列中。
程序:
Sub 循環語句()
Dim i As Integer
For i = 1 To 10
Cells(i, 1) = i
Next
End Sub
步長為+2的for循環結構
這裡我們看一下一個示例程序吧
程序:
Sub 循環語句()
Dim i As Integer
For i = 1 To 10 Step 2
Cells(i, 1) = i
Next
End Sub
步長為-1的for循環結構
這裡同樣的我們來看一下當step值為-1的時候,程序又會是如何的呢?
看下面實例程序:
Sub 循環語句()
Dim i As Integer
For i = 10 To 1 Step -1
Cells(i, 1) = i
Next
End Sub
2.for each……next結構
具體結構:
For each 對象變量 in 對象集合
……
next
具體解釋一下,這裡我們看到和上一個結構的而不同的是上面一種結構主要是數值變量,而這種結構是對象變量。什麼意思呢?each……in指的是在這個對象集合裡面,一次將每一個對象都遍歷一邊。同樣的道理,執行到next後對象自動指到下一個。具體我們來看一下下面的一個實例吧
實例:給一個數據區域內的所有單元格賦值,從1開始。
分析:顯然數據區域就是一個對象集合,單元格就是這個集合裡面的對象
程序:
Sub 循環語句()
Dim i As Integer
For Each c In Range("a1:c5")
i = i + 1
c.Value = i
Next
End Sub
循環語句運用起來是很靈活的,上面只介紹了兩種循環語句的基本用法,循環語句是可以套用的,這個就需要結合具體情況來靈活運用了!
下面我們用多循環語句嵌套來實現乘法口訣:
程序:
Sub 循環語句()
Dim i, j As Integer
For i = 1 To 9
For j = 1 To i
Cells(i, j) = i & "*" & j & "=" & i * j
Next
Next
End Sub
關注小編
本經驗屬於原創經驗,快來贊哦!如果喜歡就為小編投上一票;如果覺得小編的內容你還感興趣,就關注一下唄!
注意事項
for語句要注意格式書寫
運用的時候一定要注意防止進入無盡的循環