【分享成果,随喜正能量】事,不困于心,煩擾,方不亂心。衆生,是衆緣和合而生。衆生萬物,皆是平等,我們能做的,唯有敬畏、珍惜、善待,呵護好這世間的美好。。
《VBA之Excel應用》(10178983)是非常經典的,是我推出的第七套教程,定位于初級,目前是第一版修訂。這套教程從簡單的錄制宏開始講解,一直到窗體的搭建,内容豐富,執行個體衆多。大家可以非常容易的掌握相關的知識,這套教程共三冊,十七章,都是我們在利用EXCEL工作過程中需要掌握的知識點,希望大家能掌握利用。今日講解的内容是“VBA之EXCEL應用”的第三章内容: Excel VBA之For Each周遊循環的應用
第三節 周遊工作薄和工作表(For Each循環的利用)
大家好,我們在這講中将講解周遊循環語句,這種語句在VBA代碼中利用的十分普遍,也是我們在VBA代碼中經常利用的三種循環語句之一:For Each循環。下面我們将看到Excel vba中的一個程式,它周遊循環所有打開的工作簿和工作表,并顯示所有的名稱。
1 For Each...Next 語句講解
文法:
For Each element In group
[ statements ]
[ Exit For ]
[ statements ]
Next [ element ]
參數:
1)element 必需。用于循環通路集合或數組的變量。對于集合,element隻能為Variant變量、通用對象變量或任何特定的對象變量。對于數組,element僅可是Variant變量。
2)group 必需。對象集合或數組(使用者定義類型除外)的名稱。
3)statements 可選。在每個項目上執行的一個或多個語句。
注意點:
- 如果group中有至少一個元素,則進入“For Each”循環。在進入循環後, 循環中的所有語句都将對group中的每一個元素執行。如果group中有多個元素,則繼續為每個元素執行循環中的語句。group中不再有元素時,退出循環并繼續執行“Next”語句後的語句。
- 可以将任意數量的Exit For語句作為另一種退出方式放置在循環中的任何位置。"退出" 通常在評估某些條件後使用, 例如,if…then…, 将執行下一個緊接着的語句。
- 可通過将“For Each...Next”循環放置在另一個該循環内來嵌套“For...Each...Next”循環。 但是,每個循環element必須是唯一的。
- 如果忽略Next [ element ] 語句中的[ element ],循環一樣繼續執行。不可随使用者定義類型的數組一起使用“For Each...Next”語句,因為“Variant”不可包含使用者定義類型。
2 周遊工作薄和工作薄的代碼
下面代碼中,我們将利用“For Each...Next”語句周遊所有打開的工作薄和每個工作薄的工作表的名稱。
Sub mynzH() '周遊循環
Dim book As Workbook, sheet As Worksheet, text As String
For Each book In Workbooks
text = text & "Workbook: " & book.Name & vbNewLine & "Worksheets: " & vbNewLine
For Each sheet In book.Worksheets
text = text & sheet.Name & vbNewLine
Next
text = text & vbNewLine
Next
MsgBox text
End Sub
代碼截圖:
代碼講解:
1) Dim book As Workbook, sheet As Worksheet, text As String 這句是對變量的聲明,聲明book、sheet、text分别為Workbook、Workbook、String。
2) For Each sheet In book.Worksheets
text = text & sheet.Name & vbNewLine
Next
以上是内層循環,将提取每個工作表的名稱。
3) For Each book In Workbooks
text = text & "Workbook: " & book.Name & vbNewLine & "Worksheets: " & vbNewLine
。。。。。
text = text & vbNewLine
Next
以上是外層循環講提取每個工作薄的名稱。
4) MsgBox text
将彈出一個對話框,告訴使用者提取的内容。
- 注意:可以使用&運算符連接配接(聯接)元素。若要開始新行,可以使用vbNewLine。
3 代碼執行的效果
我們先添加一個空白的工作薄,然後運作上述代碼:
我們看到,最後彈出的對話框中包括每個打開的工作薄名稱及每個工作薄中工作表的名稱。
今日内容回向:
1) 什麼是周遊語句?
2) 周遊語句的文法是什麼樣的?
3) 如何應用周遊語句?
本講内容參考程式檔案:工作簿03.xlsm
我20多年的VBA成果全在下面的資料中:
【分享成果,随喜正能量】帶着感激和欣賞得眼光,看待周遭得一切,你會驚異于,生活處處都是美好。你是怎樣的人,自己懂就好。過怎樣的日子,你自己享受或者承擔就好。。