《VBA代码解决方案》(版权10028096)这套教程是我最早推出的教程,目前已经是第三版修订了。这套教程定位于入门后的提高,在学习这套教程过程中,侧重点是要理解及掌握我的“积木编程”思想。要灵活运用教程中的实例像搭积木一样把自己喜欢的代码摆好。
这套教程共三册,一百四十七讲,内容覆盖较广,也是初级和中级间的过渡教程,改版后的内容主要是提供程序源码文件及代码修正为32位和64位兼用代码。今后一段时间会给大家陆续推出。今日的内容是VBA代码解决方案第十八讲:激活一个EXCEL工作簿后,遍历工作表的方法一【分享成果,随喜正能量】克制自己纠正他人的欲望。很多事情就算你是对的,也无需证明别人是错的。。
第十八讲 激活一个EXCEL工作簿后,遍历工作表的方法一大家好,今日我们继续讲解VBA代码解决方案,今天讲解的是第18讲,激活一个EXCEL工作簿后,遍历工作表的方法。这讲的内容和下讲的内容是连续性的,共介绍两个VBA中的两个十分重要的循环语句,今日给大家讲解的是For...Next,利用这个语句为核心,完成在Excel应用中遍历工作簿中所有的工作表的方法。
1 利用For Next语句实现循环For...Next的意义: For...Next语句以指定次数来重复执行一组语句,
语法:
For n = start To end [Step ]
[statements]
[Exit For]
[statements]
Next [n]
参数:a) n是必需的,用做循环计数器的数值变量。
b) start是必需的,循环计数器的初值。
c) end是必需的,循环计数器的终值。
d) step是可选的,环计数器的步长,缺省值为 1。
e) statements是可选的,放在For和Next之间的一条或多条语句,它们将被执行指定的次数。
2 使用For...Next 语句遍历工作簿中工作表实例应用:下面我们使用For...Next 语句遍历工作簿中所有的工作表,代码如下所示。
Sub mynz_18() '第18讲 激活一个EXCEL工作簿后,遍历工作表的方法一
Dim c As Integer, i As Integer
Dim s As String
c = Worksheets.Count
For i = 1 To c
s = s & Worksheets(i).Name & Chr(13)
Next
MsgBox "工作簿中含有" & c & "个工作表,如下:" & Chr(13) & s
End Sub
上述代码的截图:
代码解析:
a) mynz_18过程使用For...Next 语句遍历工作簿中所有的工作表,并用消息框显示所有的工作表名称。
b) 第4行代码根据Worksheet对象的Count属性返回工作簿中工作表的数量,赋给变量c。
应用于Worksheet对象的Count属性返回Worksheets集合中工作表的数量,语法如下:expression.Count
c) 第5行代码开始For...Next 语句循环。
d) 第6行代码在For...Next循环中根据工作表的索引号取得所有工作表的名称赋给字符串变量s。
e) 第6行代码中“&”符号是连接两个字符的符号;Chr(13)是换行符号。
f)在上述的语句中Dim 是声明语句,用于声明变量,Integer ,String是变量的类型。
代码的运行:
此时EXCEL工作薄如下图,共含有n多个不同名称的工作表:
代码的运行之后:
今日内容回向:
1 For...Next的意义是什么?
2 Worksheet对象的Count属性的意义什么?
3 For...Next是如何实现遍历工作表的?
本讲内容参考程序文件:VBA代码解决方案(1-19).xlsm
我20多年的VBA实践经验,全部浓缩在下面的各个教程中: