上一章給大家分享了一下Do While循環結構的含義,以及該怎麼使用,今天這一章就給大家分享一下VBA基本文法的For Each…Next的特點,使用說明等。
首先看一下For Each結構的具體含義:
For Each 元素變量 in 組合(可以是集合或者數組)
要執行的語句快
Exit For
要執行的語句快
Next 元素變量
下面就具體解釋一下請看截圖:
注意:For Each…..Next 要比其他循環結構靈活很多,它不需要什麼循環的判斷條件,特别是循環數組或者是集合的時候。還有一點再循環數組的時候不能去修改數組的值,對已經有值的數組,那也隻能修改元素的屬性(也就是之前舉的例子,改變字型顔色等等)。
先舉一個簡單的例子一起看一下效果:
接下來是一個A列含有很多姓名的單元格(不考慮姓名重複問題)
我們需要做的就是使用這個剛學的循環結構去取資料,再輸出到表格中。
下面解釋一下代碼:
代碼1:
Sub fe()
Dim i As Integer, k As Integer, j As Variant, b As Integer
Dim shuzu() As Variant
b = WorksheetFunction.CountA(Range("A:A"))
ReDim shuzu(1 To b) As Variant
For k = 1 To b
shuzu(k) = Cells(k, 1)
Next
i = 1
For Each j In shuzu
Cells(i, 2) = j
i = i + 1
Next
End Sub
再舉一個常見的執行個體(沒有什麼實際意義,主要是了解一下For each循環結構的使用方法):
使用For Each…..Next 編寫一個程式把1到20的整數輸出到A1到A20單元格中。
代碼2:
Sub sh()
Dim k As Range, j As Integer
j = 1
For Each k In Range("A1:A20")
k.Value = j
j = j + 1
Next
End Sub
注意:這裡面輸出的結果會在你的活動表格的單元格中,(活動就是指你現在打開,正在操作的表格),你可以試試你切換到那個sheet中,結果就輸出到哪裡。
今天先分享到這裡,喜歡的請關注,謝謝!
明天繼續分享