excel图表有条件的循环(1)—Do While循环
发布时间:2022-08-27 12:00:10
在上一篇文章中,我们介绍的For-Next循环,能够按照指定的数值进行有限次的循环。下面介绍在满足指定的条件时才执行相应代码块的循环结构,先来看看Do While循环。
按照惯例,先举一个例子。下面的代码从当前单元格开始,逐行显示单元格的内容,直到碰到空单元格为止。如果第一个单元格就为空,则不会执行循环。
Sub DoWhile0()
Dim i As Integer ‘声明变量
i = 1 ‘初始化变量
Do While Cells(i, 1).Value <> “”
MsgBox “单元格A” & i & “的内容为:” & Cells(i, 1).Value
i = i + 1
Loop
End Sub
例如,在单元格区域A1:A5中依次输入数字1、2、3、4、5,将当前单元格置于A1单元格(如所示),运行上面的代码,将依次显示数字1、2、3、4、5。
Do While循环的基本语法结构如下:
Do [While 条件语句]
[语句块]
[Exit Do]
[语句块]
Loop
或者:
Do
[语句块]
[Exit Do]
[语句块]
Loop [While 条件语句]
说明:
按照惯例,方括号中的内容表示可选项。
条件语句可以放在循环的开始处或者结尾处。如果放在开始处,那么先评估条件,满足条件要求,就执行循环里面的语句;这种情况下,当始终不满足条件时,就有可能一次也不会执行循环里面的语句。如果放在结尾处,则至少会执行一次循环里面的语句。
Exit Do语句表示提前退出循环。
将条件放置在结尾处,前面的示例代码修改如下:
Sub DoWhile01()
Dim i As Integer ‘声明变量
i = 1 ‘初始化变量
Do
MsgBox “单元格A” & i & “的内容为:” & Cells(i, 1).Value
i = i + 1
Loop While Cells(i, 1).Value <> “”
End Sub
此时,如果单元格A1为空,也会显示一条消息框,然后退出循环。
用框图分别表示Do While循环的两种语法形式如下:
如果熟悉了Excel中的常用对象及其属性,也可以将上面的代码修改如下,实现相同的结果。
Sub DoWhile1()
Do While ActiveCell.Value <> “”
MsgBox “当前单元格的内容为:” & ActiveCell.Value
ActiveCell.Offset(1, 0).Activate
Loop
End Sub
其中,Offset属性表示下移一个单元格,即当前单元格下面的单元格。(单元格的常用属性将在后续文章中详细介绍)
将条件放置在结尾处,前面的示例代码修改如下:
Sub DoWhile2()
Do
MsgBox “当前单元格的内容为:” & ActiveCell.Value
ActiveCell.Offset(1, 0).Activate
Loop While ActiveCell.Value <> “”
End Sub
下面,为更深入理解Do While循环,我们来改写上一篇中用来说明For-Next循环的示例。
示例1:如果想要在工作表单元格区域A1:A10中依次填写数字1至10,也可以使用下面的包含Do While循环的代码:
Sub DoWhile3()
Dim i As Integer ‘声明变量
i = 1 ‘给变量赋初始值
‘循环
Do While i <= 10
Cells(i, 1).Value = i
i = i + 1
Loop
End Sub
注意,与For-Next循环不同的是,在进入循环之前,需要先给变量i赋初始值。在循环中,还需要能够增加变量的值。
示例2:下面的代码使用Do While循环求1至100的和,并显示结果。
Sub DoWhile4()
‘声明变量
Dim i As Integer
Dim sum As Integer
‘给变量赋初值
i = 1
sum = 0
‘循环并显示结果
Do While i <= 100
sum = sum + i
i = i + 1
Loop
MsgBox “1至100的和为:” & sum
End Sub
示例3:下面的代码使用Do While循环求1至100之间的偶数和并显示结果。
Sub DoWhile5()
‘声明变量
Dim i As Integer
Dim sum As Integer
‘给变量赋初值
i = 1
sum = 0
‘循环并显示结果
Do While i <= 100
If (i Mod 2 = 0) Then
sum = sum + i
End If
i = i + 1
Loop
MsgBox “1至100的和为:” & sum
End Sub
在编写程序时,我们可以使用多种方法实现想要的结果,您可以根据具体情况选择实现方式,这也是编程的一大美妙之处。


猜你喜欢
- 咱们在 操纵Excel表格 停止 一样平常办公时, 常常 需求 建造 林林总总的表格, 咱们在 面临一个表格,想要统计某一个数据的各项数值,
- 戴尔电脑win10系统的安全模式该如何进入呢?当我们电脑出现了驱动错误,或者其他的一些小故障,进入安全模式是很好是解决方式。今天小编就教大家
- Windows 10终于结成正果了!爆料大神WZor刚刚确认说,Windows 10 RTM正式版已经签署完毕,并分发给合作伙伴。Win10
- Excel中的两列数据具体该如何相乘呢?使用表格计算乘法可以大大提升工作效率,那么要怎么做呢?下面是小编带来的关于excel表格两列数字相乘
- 低配电脑能够升级Win11吗?根据微软官方消息,Win11只支持8代以上cpu,而且还必须支持打开受信任的平台模块TPM2.0,那么是不是低
- excel隐藏列没办法显示怎么办?在打开excel的时候,发现有一列不见了,如图,没有显示B列,怎么解决呢?可能我们会首先想到的是不是这一列
- Windows10系统如何使用Linux命令?目前,Windows10系统已经集成了Linux常用命令,我们在Windows10系统下也是可
- 经常有很多学生或工作者需要制作ppt。可是在制作ppt的过程中,我们都会碰到一些内容是相同的,如果一个一个来制作幻灯片,不仅降低工作效率,而
- 用户在word软件中收获到了许多的好处,在编辑文档时可以真真切切的感受到软件 * 能的强大,让用户提升了自己的办事效率,将一份文档快速的编辑好
- 很多的朋友,在Word中编辑文档时,都不会去设置页边距,都是使用默认的。但是在一些文档的编辑当中,页边距的设置是十分重要的,所以小编要来介绍
- 系统属性在桌面的右击计算机,然后选择属性即可打开系统属性窗口了。另外还有XP系统属性怎么打开,感兴趣的各位可以参考下哈win7系统属性怎么打
- 神舟战神ZX9-DA3DA是一款娱乐影音笔记本电脑,这款电脑搭载了英特尔赛扬双核处理器以及发烧级独立显卡,能够满足用户们日常娱乐使用需求,那
- 使用自动编号编排文档后,相信有许多小伙伴对Word中编号与正文之间过大的间隔距离恼火不已,不要上火,今天我将为大家一一分解。为什
- 新手可以自己重装系统吗?相信还有很多用户有这样的疑惑,想自己重装系统,但是不知道怎么操作,那么应该怎么办呢?本篇推荐使用石大师装机工具,会方
- 本文介绍一下如何修改Window系统下PATH路径原因是因为“环境变量”的问题,原本的Path=C:\WINDOWS\system32;C:
- wps是一款用户经常使用的办公软件,在wps软件中拥有的用户中,大部分的用户是学生党和上班族,用户在使用wps来编辑表格,经常会遇到需要输入
- 最近直播答题的节目很是火爆了,想赚钱的人也越来越多了,不过很多人都过不了12题,很苦恼。于是有网友推荐使用简单搜索冲顶神器,但是很多人下载了
- 有时我们在编辑文档的过程中不小心将菜单栏隐藏了,想要恢复的时候却不知道如何操作,这时应该怎么办呢?不用急,下面就让小编告诉你 wps如何恢复
- 我们有时候会选择去下载一些本地驱动安装包来安装使用,但大部分情况都是需要联网才能够进行安装的,而驱动总裁是能够支持离线安装驱动,那么具体要如
- 腾讯QQ经常在电脑桌面右下角弹出广告窗口,那么该如何禁止这个窗口呢?下面就给大家分享禁止腾讯QQ弹出广告窗口的操作方法。解决方法:1、打开3