龙空技术网

Excel VBA For...Next与Do While...loop两种循环语句再学习

阿杰漫步 274

前言:

现时你们对“vba去除空格和换行”可能比较注重,咱们都想要学习一些“vba去除空格和换行”的相关文章。那么小编在网上搜集了一些对于“vba去除空格和换行””的相关知识,希望同学们能喜欢,同学们一起来了解一下吧!

今天继续讲一下VBA里最常用的循环语句,For循环与Do While循环,之前讲过在VBA里For循环与Do While循环是可以互换使用的,今天的案例也会将它们放在一起讲解。

在讲解之前先插一句,VBA和其他编程语言一样,程序都是逐句执行的,每一行依次执行直到程序结束(End Sub)。书写习惯上,在VBA里是通过回车换行来表示这一行代码的结束,像上篇文章里的代码书写的有点长了,对于某一行长代码我们可以改变书写方式,使用“空格+_下划线”对它进行隔开,这样某行长代码读起来不会因为过长而显得不美观,断过行的代码执行的结果也是一样的。

Sub ZZZ()Dim i As Integer    i = 2    Do While Range("A" & i) <> ""    Range("B" & i) = DateSerial(Mid(Range("A" & i), 7, 4), _                Mid(Range("A" & i), 11, 2), _                Mid(Range("A" & i), 13, 2))                i = i + 1                Loop                    End Sub

今天演示一下,分别用For循环与Do While循环,在单元格区域A1:A20里面依次写入数字1到20,正确结果应该是A1=1...直到A20=20。只要代码写得正确,写入1到2000都行,这里为了演示方便就写到20吧。

我们在桌面上先创建一个新的空白文档,打开工作表,在Sheet1中选中A1:A20单元格并填充一下颜色,这样后续看得清楚一点。

接下去按Alt+F11快捷键,进入代码界面,插入 “模块”,在“模块”里面我们书写代码,先写For循环,代码如下:

Sub a()Dim i As Integer    For i = 1 To 20    Range("A" & i) = i    Next iEnd Sub

按一下控制台里面的小三角或者快捷键按F5,运行,结果是正确的:

接下去我们清除单元格区域内容,再写一下Do While循环来输出结果,代码如下:

Sub b()Dim i As Integer    i = 1    Do While i < 21    Range("A" & i) = i    i = i + 1    LoopEnd Sub

最后输出结果和For 循环是一模一样的

最后比较一下两种写法,其实它们是两种思路,一个是先确定循环次数再执行,另一个是每次进行条件判断,满足条件后再循环,直到条件不满足退出循环。

两种循环语句今天先介绍到这里吧,后续的文章会再深入介绍,谢谢阅读。

标签: #vba去除空格和换行 #vba输出一行数据后怎么换行