VBA代码解决方案第十八讲:激活工作簿后,遍历工作表的方法一

VBA语言専攻 2024-09-30 18:57:49

《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实践经验,全部浓缩在下面的各个教程中:

1 阅读:1