如何在excel中做vba循环?
如何在excel中做vba循环?我们介绍了Excel的对象模型和一些常用的对象,也了解了对象变量的概念和对象变量的声明方法。实际上,在大多数情况下,我们使用Excel VBA来操作Excel对象来实现我们的目标。例如,我们可以操作工作表对象、命名工作表、对工作表进行排序以及计算工作表的数量。我们可以操作单元格对象,用内容填充单元格区域,并找到指定内容的单元格。等等。
为了便于操作Excel对象,VBA提供了一个For Each-Next结构,它可以在由对象组成的集合中循环,并对集合中的所有对象执行操作,或者对集合中满足相关条件的对象执行操作。
使用For Each-Next结构,我们不需要知道集合中对象的数量,只需要声明相应的对象变量并编写指令来执行操作。
“用于每个下一个”结构具有以下语法:
对象中每个对象变量的集合。
[语句块]
[退出时间]
[语句块]
下一个[对象变量]
描述:
按照惯例,方括号中的内容表示选项。
对象需要在使用前声明。
Exit For语句意味着提前退出循环。
您不需要知道集合中对象的数量。
它可以与其他语法结构嵌套。
下面的示例演示了“每个下一个”结构的使用。
示例1:下面的代码遍历当前工作簿中的工作表,并依次显示工作表的名称。
Sub ForEach1()
“将工作表定义为”声明工作表对象变量。
遍历工作表集合,依次显示工作表的名称。
对于工作表中的每一周
MsgBox "工作表的名称是:" wks。名字
下一周
末端接头
示例2:通过对上述示例1的改进,在显示工作表名称时会显示工作表编号,最后统计工作簿中的工作表数量。代码如下。
Sub ForEach2()
“将工作表定义为”声明工作表对象变量。
' Dim I as long '声明了一个用于计算工作表数量的变量。
“I=0”将初始值赋给变量。
对于工作表中的每一周
i=i 1
MsgBox的“I”工作表名称为:“wks”。名字
下一周
此工作簿有“I”个工作表
末端接头
示例3:下面的代码遍历当前工作表的单元格区域A1:A5,并依次显示每个单元格的内容。
Sub ForEach3()
“Dimcell as range”声明了一个单元格对象变量。
遍历单元格区域A1:A5,依次显示单元格内容。
对于范围内的每个单元格(“A1:A5”)
MsgBox单元格。价值
下一个单元格
末端接头
示例4:下面的代码具有与示例3相同的效果,但是我们设置了表示单元格区域的对象变量并赋值,以便For Each结构可以在对象变量表示的区域中循环。
Sub ForEach4()
' Dimcell作为范围,RNG作为范围'声明单元格对象变量。
设置rng变量的值。
设置rng=范围(“A1:A5”)
遍历rng对象变量表示的单元格区域,依次显示单元格内容。
对于网络中的每个小区
MsgBox单元格。价值
下一个单元格
末端接头
示例5:下面的代码结合If-Then结构来判断满足相应条件的单元格数量。
如下图所示,分数在80分以上的学生人数要统计。
运行以下代码。
Sub ForEach5()
' Dimcell作为范围,RNG作为范围'声明单元格对象变量。
“米蒂只要”声明了计数变量。
设置rng变量的值。
设置rng=范围(“B2:B9”)
i=0
遍历由rng对象变量表示的单元格区域。
并判断单元格中的值是否大于80。
对于网络中的每个小区
如果细胞。值80然后
i=i 1
如果…就会结束
下一个单元格
“MsgBox”共有80多分的“我”学生。”
末端接头
在For Each循环结构中,代码使用If-Then语句检查每个单元格中的值。如果该值大于80,变量I将增加1。
版权声明:如何在excel中做vba循环?是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。