excel图表While循环
时间:2022-06-04 13:10:18
excel图表While循环?在上一篇文章中,我们介绍的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
在编写程序时,我们可以使用多种方法实现想要的结果,您可以根据具体情况选择实现方式,这也是编程的一大美妙之处。
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Excel 2007中修改回车键切换单元格方向
![](https://img.aspxhome.com/file/2023/0/38970_0s.jpg)
win10怎么分盘合理?win10合理分盘的教程
![](https://img.aspxhome.com/file/2023/4/47874_0s.jpg)
Excel 如何显示日期天数
![](https://img.aspxhome.com/file/2023/5/a163395_0s.jpg)
Excel转换成VCF全攻略
![](https://img.aspxhome.com/file/2023/5/38065_0s.jpg)
安装Mathematics Add-In时错误“需要适用于 Microsoft Office 的 .NET 可编程性支持“
![](https://img.aspxhome.com/file/2023/1/16201_0s.png)
excel2007插入批注没有显示红色标志该怎办?
![](https://img.aspxhome.com/file/2023/9/41719_0s.jpg)
Word不能打印预览如何解决
WORD调整表格中根据内容和根据窗口有什么区别?
![](https://img.aspxhome.com/file/2023/4/29084_0s.jpg)
Excel如何设置使用函数时提示需要输入的内容
![](https://img.aspxhome.com/file/2023/2/a153742_0s.png)
只要5分钟 让Excel更有规律的将数据整理出来
![](https://img.aspxhome.com/file/2023/8/40798_0s.png)
word如何快速排版一篇糟糕的文档?
![](https://img.aspxhome.com/file/2023/2/24402_0s.jpg)
懒人专用,这个Excel图表老板只需看一眼
![](https://img.aspxhome.com/file/2023/8/a142798_0s.jpeg)
利用Word将文本成批替换为Logo图片
![](https://img.aspxhome.com/file/2023/5/24595_0s.jpg)
Word2016中使用页面视图的方法是什么
word怎么使用通配符给文中所有数字添加空格和下划线
标准差是什么?Excel标准差如何计算?
![](https://img.aspxhome.com/file/2023/4/a153644_0s.jpg)
如何在ACT中使用Microsoft Word 2008!
Excel图表多页打印,每页上都要有标题,怎么办?
![](https://img.aspxhome.com/file/2023/4/a142124_0s.gif)
如何关闭Excel的模板界面
![](https://img.aspxhome.com/file/2023/6/a155496_0s.jpg)