智能进销存软件:革新现代库存管理
131
2023-11-07
【摘要】 本书摘自《Excel VBA跟卢子一起学 早做完 不加班 基础入门版》一书中第3章,第3节,韩小良著。
3.3.2 指定对象循环: For Each…Vext 语句
上面讲过循环分为3种类型:指数、对象、条件循环的类型。指数循环语句 ( For…Next 语句),该语句适用于有一定范围的循环操作——即能通过其他方法判断确定循环次数的就 采用 For…Next 语句,如果是对象的则需运用 For Each…Next 语句。
② 皮蛋: 貌似只有一个单词的差别吧,有很大不同吗?
无言:区别很大,看语法结构先。
语法结构如图3-16所示。
For Each…Next 语句的主要针对对象是集 合或数组中的每个元素,并在其中重复执行 语句——即该语句作用于对象集合、数组中的 每一个元素。
对象的集合,常见的有工作簿集合、工 作表集合、单元格集合、图形集合、图表集合、 批注集合等, For Each 语句就是作用于这些对 象的元素。
For Each语句为循环语句的必要语句外壳,而且必须和Next循环变量名匹配,否则会出错,For…Next 语句也是。
For Each语句的 element参数为循环对象变量名称,该名称代表了后面的 group参数中的 对象集合中的每一个子对象。 group参数的对象类型必须与element参数保持一致,否则导致 循环出错。
? 皮蛋: 即是说For Each…Next语句的element参数若指定了是工作表对象,后面的group参数 的对象集合也必须是工作表对象啦。
无言:是的,相辅相成,只有匹配了才能有作用。
For Each 语句的重点就在于选择对象,先来简单例子。
Dim Rng as Range,SelRng as Range'声明2个相同的对象变量'
Set SelRng=Range(“A₁:A₁2”)‘SelRng赋值为一个固定区域,可以一维(多行一列)或者二维(多行 多列)的单元格区域
For Each Rng In SelRng '将SelRng变量加入Rng 对象循环
Msgbox Rng.Address '获取单元格的具体对应文本位置,也可以使用.Value (单元格的值) 或者.Text(单元格自定义格式的值)
Next
Dim Sht as Worksheet '声明1个表对象变量
For Each Sht In Worksheet '将代码所在工作簿的所有表加入 Sht对象循环
Msgbox Sht.Name '获取 Sht循环对象中的每个表的名称
Next
以上两段循环示例代码,分别对应了Excel的内置对象: Range (单元格对象)和Sheet(表 对象)对象。
示例中第1段循环语句中的 Rng 和 SelRng均声明为相同的 Range 单元格对象,过程中先 给SelRng对象赋值指定单元格区域,并将Rng 变量加入 For Each 的 SelRng循环对象集合中, 运行结果如图3-1 7 所 示 ,每次循环都将获取选中的Al:A12 的单元格内的值,直至所有单元格
循环完毕。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们 18664393530@aliyun.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~