分享

Excel VBA中for循环语句的用法

 新用户90831022 2020-04-11
方法/步骤1:

我们常用的for循环语句有两种,一个是for ……next结构;一个是For each……next结构。这两种结构主要都是针对多数据循环遍历的时候用到的。那么下面我将分别来介绍一下两种循环结构的具体用法,首先还是要打开VBA编辑器

方法/步骤2:

1.for……next结构

这个结构一般是这样的:

for i=初始值 to 结束值 step 步长值

……

next

具体解释一下,初始值指的是循环开始的值,结束值指的是循环结束的值,实质上就是i值得一个判断,如果i值在起始值和结束值之间,那么进入循环语句,然后i值每运行到next语句后会自动加一个步长值,直至i值超出了初始值到结束值这个范围,循环才会结束。这里要说明一下”step 步长值“往往是省略掉的,省略掉的话,步长取默认值为1。下面将以一段小实例来具体说明这个结构的用法:

实例:在sheet1工作表中一次输出1到10这个数,显示在第一列中。

程序:

Sub 循环语句()

Dim i As Integer

For i = 1 To 10

Cells(i, 1) = i

Next

End Sub

方法/步骤3:

步长为+2的for循环结构

这里我们看一下一个示例程序吧

程序:

Sub 循环语句()

Dim i As Integer

For i = 1 To 10 Step 2

Cells(i, 1) = i

Next

End Sub

方法/步骤4:

步长为-1的for循环结构

这里同样的我们来看一下当step值为-1的时候,程序又会是如何的呢?

看下面实例程序:

Sub 循环语句()

Dim i As Integer

For i = 10 To 1 Step -1

Cells(i, 1) = i

Next

End Sub

方法/步骤5:

2.for each……next结构

具体结构:

For each 对象变量 in 对象集合

……

next

具体解释一下,这里我们看到和上一个结构的而不同的是上面一种结构主要是数值变量,而这种结构是对象变量。什么意思呢?each……in指的是在这个对象集合里面,一次将每一个对象都遍历一边。同样的道理,执行到next后对象自动指到下一个。具体我们来看一下下面的一个实例吧

实例:给一个数据区域内的所有单元格赋值,从1开始。

分析:显然数据区域就是一个对象集合,单元格就是这个集合里面的对象

程序:

Sub 循环语句()

Dim i As Integer

For Each c In Range('a1:c5')

i = i + 1

c.Value = i

Next

End Sub

方法/步骤6:

循环语句运用起来是很灵活的,上面只介绍了两种循环语句的基本用法,循环语句是可以套用的,这个就需要结合具体情况来灵活运用了!

下面我们用多循环语句嵌套来实现乘法口诀:

程序:

Sub 循环语句()

Dim i, j As Integer

For i = 1 To 9

For j = 1 To i

Cells(i, j) = i & '*' & j & '=' & i * j

Next

Next

End Sub

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多