当你的过程需要在一个集合的所有对象或者一个数组的所有元素之间循环时,应该使用For Each…Next循环,该循环不需要计数器变量,VB自己知道应该执行几次循环,在集合和数组中循环与其他循环语句相比,For Each要灵活很多! For Each 元素 In 集合名称或数组名称;集合变量定义为相应的对象;数组原始变量定义为Variant类型 语句1 语句2 语句N Next [元素] 元素变量用来历遍集合或者数组中的每个元素,无论集合或者数组里有多少个元素,从第一个元素开始到最后一个,退出循环。 案例实战: 一个工作簿有许多工作表,就像下图这样: (⊙v⊙) 有请代码 Sub shtname() Dim sht As Worksheet'变量类型定义为Worksheet,工作表类型 Dim i As Integer i = 1 '第一次待写入在单元格第1行,变量值定义为1 For Each sht In Worksheets '当前工作簿中的工作表集合,集合里有几个工作表对象,运行程序后就执行循环体几次 Cells(i, 'A') = sht.Name '将工作表名称写入A列第i行单元格,sht.name返回变量Sht代表的工作表标签名称 i = i 1 Next sht '返回For Each语句开始处,在执行循环体 End Sub 查看执行效果 执行程序后,工作簿中的所有工作表就出现在当前活动工作的A列单元格中。 如下图所示
觉得没有玩够,满足你那颗爱学习的心! 小练习 用For Each…Next语句编写一个程序将1到100的自然数输入到A1:A100单元格区域中 爱学习的亲们就是这么 参考答案: Sub tiangshu() Dim r As Range, i As Integer i = 1 For Each r In Range('A1:A100') r.Value = i i = i 1 Next End Sub |
|
来自: L罗乐 > 《VBA基础入门教程》