Excel?

Tags: 用法, 語句,

for循環語句在VBA中扮演著比較重要的角色,為我們批量的處理表格數據提供了一個很好的途徑,下面小編根據自己的一些親身經驗為大家分享一下Excel VBA中for循環語句的兩個用法吧!

工具/原料

office Excel軟件

具備一定的VB基礎更好

方法/步驟

我們常用的for循環語句有兩種,一個是for ……next結構;一個是For each……next結構。這兩種結構主要都是針對多數據循環遍歷的時候用到的。那麼下面我將分別來介紹一下兩種循環結構的具體用法,首先還是要打開VBA編輯器

Excel VBA中for循環語句的用法

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

Excel VBA中for循環語句的用法

步長為+2的for循環結構

這裡我們看一下一個示例程序吧

程序:

Sub 循環語句()

Dim i As Integer

For i = 1 To 10 Step 2

Cells(i, 1) = i

Next

End Sub

Excel VBA中for循環語句的用法

步長為-1的for循環結構

這裡同樣的我們來看一下當step值為-1的時候,程序又會是如何的呢?

看下面實例程序:

Sub 循環語句()

Dim i As Integer

For i = 10 To 1 Step -1

Cells(i, 1) = i

Next

End Sub

Excel VBA中for循環語句的用法

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

Excel VBA中for循環語句的用法

循環語句運用起來是很靈活的,上面只介紹了兩種循環語句的基本用法,循環語句是可以套用的,這個就需要結合具體情況來靈活運用了!

下面我們用多循環語句嵌套來實現乘法口訣:

程序:

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

Excel VBA中for循環語句的用法

關注小編

本經驗屬於原創經驗,快來贊哦!如果喜歡就為小編投上一票;如果覺得小編的內容你還感興趣,就關注一下唄!

注意事項

for語句要注意格式書寫

運用的時候一定要注意防止進入無盡的循環

相關問題答案