<返回更多

VBA基本语法For Each 结构,有什么特点,注意事项

2021-01-07    
加入收藏

今天这一章就给大家分享一下VBA基本语法的For Each…Next的特点,使用说明等。

首先看一下For Each结构的具体含义:

For Each 元素变量 in 组合(可以是集合或者数组)

要执行的语句块

Exit For

要执行的语句块

Next 元素变量

下面就具体解释一下请看截图:

VBA基本语法For Each 结构,有什么特点,注意事项

 

注意:For Each…..Next 要比其他循环结构灵活很多,它不需要什么循环的判断条件,特别是循环数组或者是集合的时候。还有一点在循环数组的时候不能去修改数组的值,对已经有值的数组,那也只能修改元素的属性(也就是之前举的例子,改变字体颜色等等)。

 

先举一个简单的例子一起看一下效果:

接下来是一个A列含有很多姓名的单元格(不考虑姓名重复问题)

VBA基本语法For Each 结构,有什么特点,注意事项

 

我们需要做的就是使用这个刚学的循环结构去取数据,在输出到表格中。

VBA基本语法For Each 结构,有什么特点,注意事项

 

下面解释一下代码:

VBA基本语法For Each 结构,有什么特点,注意事项

 

代码1:

Sub fe()

Dim i As Integer, k As Integer, j As Variant, b As Integer

Dim shuzu() As Variant

b = WorksheetFunction.CountA(Range("A:A"))

ReDim shuzu(1 To b) As Variant

For k = 1 To b

shuzu(k) = Cells(k, 1)

Next

i = 1

For Each j In shuzu

Cells(i, 2) = j

i = i + 1

Next

End Sub

再举一个常见的实例(没有什么实际意义,主要是了解一下For each循环结构的使用方法):

使用For Each…..Next 编写一个程序把1到20的整数输出到A1到A20单元格中。

VBA基本语法For Each 结构,有什么特点,注意事项

 


VBA基本语法For Each 结构,有什么特点,注意事项

 

代码2:

Sub sh()

Dim k As Range, j As Integer

j = 1

For Each k In Range("A1:A20")

k.Value = j

j = j + 1

Next

End Sub

注意:这里面输出的结果会在你的活动表格的单元格中,(活动就是指你现在打开,正在操作的表格),你可以试试你切换到那个sheet中,结果就输出到哪里。

 

今天先分享到这里,喜欢的请关注,谢谢!

明天继续分享

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>