今天这一章就给大家分享一下VBA基本语法的For Each…Next的特点 , 使用说明等 。
首先看一下For Each结构的具体含义:
For Each 元素变量 in 组合(可以是集合或者数组)
要执行的语句块
Exit For
要执行的语句块
Next 元素变量
下面就具体解释一下请看截图:
![VBA基本语法For Each 结构,有什么特点,注意事项](http://img.jiangsulong.com/220424/161I46350-0.jpg)
文章插图
注意:For Each…..Next 要比其他循环结构灵活很多 , 它不需要什么循环的判断条件 , 特别是循环数组或者是集合的时候 。还有一点在循环数组的时候不能去修改数组的值 , 对已经有值的数组 , 那也只能修改元素的属性(也就是之前举的例子 , 改变字体颜色等等) 。
先举一个简单的例子一起看一下效果:
接下来是一个A列含有很多姓名的单元格(不考虑姓名重复问题)
![VBA基本语法For Each 结构,有什么特点,注意事项](http://img.jiangsulong.com/220424/161I4G14-1.jpg)
文章插图
我们需要做的就是使用这个刚学的循环结构去取数据 , 在输出到表格中 。
![VBA基本语法For Each 结构,有什么特点,注意事项](http://img.jiangsulong.com/220424/161I42G7-2.jpg)
文章插图
下面解释一下代码:
![VBA基本语法For Each 结构,有什么特点,注意事项](http://img.jiangsulong.com/220424/161I43G7-3.jpg)
文章插图
代码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 结构,有什么特点,注意事项](http://img.jiangsulong.com/220424/161I42505-4.jpg)
文章插图
![VBA基本语法For Each 结构,有什么特点,注意事项](http://img.jiangsulong.com/220424/161I41D6-5.jpg)
文章插图
代码2:
Sub sh()
Dim k As Range, j As Integer
j = 1
For Each k In Range("A1:A20")
k.Value = https://www.isolves.com/it/cxkf/bk/2021-01-07/j
j = j + 1
Next
End Sub
注意:这里面输出的结果会在你的活动表格的单元格中 , (活动就是指你现在打开 , 正在操作的表格) , 你可以试试你切换到那个sheet中 , 结果就输出到哪里 。
【VBA基本语法For Each 结构,有什么特点,注意事项】今天先分享到这里 , 喜欢的请关注 , 谢谢!
明天继续分享
推荐阅读
- 辩证唯心主义的基本观点 柳宗元的思想主张
- 安溪茶艺的分类介绍,安溪茶艺的基本知识介绍
- 安溪茶艺基础知识介绍,安溪茶艺的基本知识介绍
- 白毫乌龙茶制作工艺,白茶的种类及基本制作工艺先容
- 白茶的基本信息介绍,网络白茶是什么意思
- 学生观的基本内容有哪些?
- ES6、ES7、ES8、ES9、ES10常用语法总汇
- 凉茶的作用 凉茶的基本知识
- hr|大企业HR坦言:这些大学生简历都不用细看,基本就能直接淘汰
- 聊聊多人语音通话的基本原理