当前位置:首页 > 办公 > Excel教程 > 正文内容

excel图表有条件的循环(1)—Do While循环

酷网1周前 (10-08)Excel教程14

在上一篇文章中,我们介绍的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

在编写程序时,我们可以使用多种方法实现想要的结果,您可以根据具体情况选择实现方式,这也是编程的一大美妙之处。

扫描二维码推送至手机访问。

版权声明:本文章来源于互联网,由八酷网收集发布,如需转载请注明出处。

本文链接:https://www.i8ku.com/2021/39505.html

分享给朋友:

相关文章

Excel如何自动生成表格?Excel自动生成表格方法

Excel如何自动生成表格?Excel自动生成表格方法

  无论是外企、民企,还是事业单位,使用EXCEL进行办公是司空见惯的。掌握更多关于Excel文档的操作技巧,能够有效提高我们的办公效率。接下来就给大家分享一下Excel中如何自动生成...

N多商品,excel图表计算相同商品对应数据的最大与最小值

N多商品,excel图表计算相同商品对应数据的最大与最小值

朋友传给我一张EXCEL表格,里面有各个城市的销售数据,城市一列有很多行城市名是相同的。朋友要计算同一城市销售量的最大值和最小值。 换了相似的数据,计算相同商品的最大和最小出货量: 视频解 关键操作计算最大出货量 F...

excel常用快捷键你都知道哪些?

今天来补充其他快捷键。 一、快速设置数值格式 【Ctrl+Shift+`】设置常规格式 【Ctrl+Shift+1】设置千分符整数格式 【Ctrl+Shift+2】设置千分符整数格式 【Ctrl+Shift+3】设置千分...

Excel表格怎么整行拆分数据?方方格子工具教你快速将整行数据拆分

Excel表格怎么整行拆分数据?方方格子工具教你快速将整行数据拆分

  Excel表格怎么整行拆分数据?通常我们在使用Excel表格来做一些数据的时候,都会遇到有些数据被混合在同一行中,如果数据较少的情况下,还可以一个个重新做,数据多一个怎么办呢?下面...

Excel怎么使用分列功能?

Excel怎么使用分列功能?

  大家知道Excel的分列功能吗?分列整理主要是将存为“文本”格式的数字转换成“数字”格式,还有拆分单元格的功能。这个分列功能主要用来...

怎么使用Excel去重?

怎么使用Excel去重?

  我们平时在办公的时候经常会使用到办公软件,其中Word、Excel使用的最多。大家知道怎么在Excel表格中使用去重功能吗 ?今天就让小编给大家带来一篇Excel去除重复项的教程吧...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。