如何跳出foreach循环(Each循环遍历工作表)
如何跳出foreach循环(Each循环遍历工作表)[Exit For][statements]For Each...Next 语句的意义:表示遍历某范围内的所有变量语法如下:For Each element In Group
【分享成果,随喜正能量】越是遇到重大的问题,越是要心平气和,不能自己乱了阵脚。想要破茧成蝶,需从自身去着手,一定要记住,情绪不成熟,永远无法自己治愈自己。心累了无法排解,心痛了无法自愈,本质上还是自己心量太小,能量不够强大。如果心大了,看待一切事情就小了。
《VBA代码解决方案》这套教程是我最早推出的教程,目前已经是第二版修订了。这套教程定位于入门后的提高,在学习这套教程过程中,侧重点是要理解及掌握我的“积木编程”思想。要灵活运用教程中的实例像搭积木一下把自己喜欢的代码摆好。
这套教程共三册,一百四十七讲,内容覆盖较广,也是初级和中级间的过度教程,改版后的内容主要是提供程序源码文件及代码修正为32位和64位兼用代码。今后一段时间会给大家陆续推出。今日的内容是第19讲:利用For Each循环遍历工作表
第十九讲 激活一个EXCEL工作簿后,遍历工作表的方法二大家好,今日我们继续讲解VBA代码解决方案,今日讲解第十九讲内容:激活一个EXCEL工作簿后,遍历工作表的方法二。这讲的内容和上一讲的内容是连续性的,共介绍两个VBA中的两个十分重要的循环语句,今日给大家讲解的是For Each...Next 语句,利用这个语句为核心,完成在Excel应用中遍历工作簿中所有的工作表的方法。
1 For Each遍历循环的语法讲解For Each...Next 语句的意义:表示遍历某范围内的所有变量
语法如下:
For Each element In Group
[statements]
[Exit For]
[statements]
Next [element]
参数
a) element是必需的,用来遍历集合或数组中所有元素的变量。
b) group是必需的,对象集合或数组的名称。
c) statements是可选的,针对对象集合或数组中的每一项执行的一条或多条语句。
2 使用For Each...Next语句遍历工作簿中所有工作表使用For Each...Next语句遍历工作簿中所有的工作表,如下面的代码所示:
Sub mynz_19() '第18讲 激活一个EXCEL工作簿后,遍历工作表的方法二
Dim Sh As Worksheet
Dim s As String
K=0
For Each Sh In Worksheets
s = s & Sh.Name & Chr(13)
k=k 1
Next
MsgBox "工作簿中含有” & k & ”个工作表,如下:" & Chr(13) & s
End Sub
代码解析:mynz_19()过程使用For Each...Next语句遍历工作簿中所有的工作表,并用消息框显示所有工作表名称。
a) 第5行代码使用For Each...Next语句遍历Worksheets集合中所有元素。For Each...Next语句针对一个数组或集合中的每个元素,重复执行一组语句
b) 第6行代码将返回的工作表的名称赋给字符串变量s。
c) 用K来记录工作表的个数,每次循环一次个数增加1.
d) Chr(13)是换行符。
e) MsgBox "工作簿中含有” & k & ”个工作表,如下:" & Chr(13) & s 是利用MsgBox函数弹出对话框,表明计算的结果。一是工作表的个数,一是工作表的名称。
代码截图:
运行后的结果:
今日内容回向:
1 For Each...Next 语句的意义是什么?
2 For Each...Next 语句如何应用?
3 For Each...Next 语句如何实现遍历工作表?
本讲内容参考程序文件:VBA代码解决方案修订(1-48).xlsm
我20多年的VBA实践经验,全部浓缩在下面的各个教程中:
第7套教程(共三册):《VBA之EXCEL应用》:是对VBA基本的讲解
第1套教程(共三册):《VBA代码解决方案》:是入门后的提高教程
第4套教程(16G):VBA代码解决方案之视频(第一套的视频讲解)
第3套教程(共两册):《VBA数组与字典解决方案》:是对数组和字典的专题讲解
第2套教程(共两册):《VBA数据库解决方案》:是对数据库的专题讲解
第6套教程(共两册):《VBA信息获取与处理》:讲解VBA的网络及跨程序应用
第5套教程(共两册):VBA中类的解读和利用:类及接口技术的讲解
第8套教程(共三册):VBA之Word应用(最新教程):word中VBA的利用
上述教程的学习顺序:
① 7→1→3→2→6→5或者7→4→3→2→6→5。
② 7→8