我们都知道当数据过多的时候,我们制作Excel图表就会显得非常的复杂,图表上面的内容就会特别多。Excel老玩家就会想到用切片器制作动态可变化的图表来显示。今天我们就来学习一下一个比......
2023-01-08
for循环语句在VBA中扮演着比较重要的角色,为我们批量的处理表格数据提供了一个很好的途径,今天,小编就教大家在Excel中VBA中for循环语句的使用方法。
Excel中VBA中for循环语句的使用步骤如下:
我们常用的for循环语句有两种,一个是for ……next结构;一个是For each……next结构。这两种结构主要都是针对多数据循环遍历的时候用到的。那么下面我将分别来介绍一下两种循环结构的具体用法,首先还是要打开VBA编辑器。
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
步长为+2的for循环结构
这里我们看一下一个示例程序吧
程序:
Sub 循环语句()
Dim i As Integer
For i = 1 To 10 Step 2
Cells(i, 1) = i
Next
End Sub
步长为-1的for循环结构
这里同样的我们来看一下当step值为-1的时候,程序又会是如何的呢?
看下面实例程序:
Sub 循环语句()
Dim i As Integer
For i = 10 To 1 Step -1
Cells(i, 1) = i
Next
End Sub
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
循环语句运用起来是很灵活的,上面只介绍了两种循环语句的基本用法,循环语句是可以套用的,这个就需要结合具体情况来灵活运用了!
下面我们用多循环语句嵌套来实现乘法口诀:
程序:
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
Excel中VBA中for循环语句的使用方法
相关文章
我们都知道当数据过多的时候,我们制作Excel图表就会显得非常的复杂,图表上面的内容就会特别多。Excel老玩家就会想到用切片器制作动态可变化的图表来显示。今天我们就来学习一下一个比......
2023-01-08
在工作中,可能许多朋友都会碰到一个情况,那就是工作簿和工作表数据的合并操作。如何将上百个工作簿快速合并到一个表格中,许多朋友可能会觉得不可思议。今天我们就来教大家学习一......
2023-01-08
今天在这里为你分享5个Excel文本函数,这些拆分和组合函数,你一定会用上的。①LEFT函数公式:=LEFT(A2,1)在Excel表格中,需要想要拆分汉字,想从哪里开始就从那哪里开始。首先选定单元格......
2023-01-08
相信大家也和我一样,才开始看到Excel可以当做翻译软件的时候会很好奇,这究竟是怎样做到的?其实,这个方法并不是很难,它是由一个函数公式而制作出来的,好了,首先我们一起来看看成......
2023-01-08
函数可以说是所用快捷方法中最为简单的一种方法,为什么很多人认为函数用起来很难了?主要是因为它拥有很长的函数公式,记不住。其实不管是学Excel函数,还是学习其他的一些快捷方法......
2023-01-08