玖叶教程网

前端编程开发入门

利用For Each循环遍历工作表(foreach循环语句)

【分享成果,随喜正能量】越是遇到重大的问题,越是要心平气和,不能自己乱了阵脚。想要破茧成蝶,需从自身去着手,一定要记住,情绪不成熟,永远无法自己治愈自己。心累了无法排解,心痛了无法自愈,本质上还是自己心量太小,能量不够强大。如果心大了,看待一切事情就小了。

《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

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言