5. 6. 7. 8. 9. For I = 9999To 1 Step -2'此句于2009年8月18日纠正 J = J + I Next
MsgBox \到10000之间奇数和为\End Sub
复制代码
感谢109楼artemis_xu朋友对以上代码的纠正!
1. 2. 3. 4. 5. 6. 7. 8. 9.
复制代码
1. 2. 3. 4. 5. 6. 7. 8. 9.
'撰写:38度:老朽
'日期:2009-7-1 上午 11:40:59
Sub 求1到10000之间能被5整除的数之和2() Dim I&, J&
For I = 10000 To 1 Step -5 J = J + I Next
MsgBox \到10000之间能被5整除的数之和为\End Sub
'撰写:38度:老朽
'日期:2009-7-1 上午 11:40:59
Sub 求1到10000之间能被5整除的数之和() Dim I&, J&
For I = 0 To 10000 Step 5 J = J + I Next
MsgBox \到10000之间能被5整除的数之和为\End Sub
程序流程控制——For—Each 循环语句
===============================
有了前面对循环一词的理解,这里我们不用再多说,如果你知道了For—next语句的工作原理,这里再来学习For—each循环以及下面我们接着要讲的句式,那就相当简单了,同样的工作原理。 学会了吃苹果,那么离会吃梨的道路还会远吗?
呵呵,只是开个小小的玩笑,下面我们继续,首先来看看For—Each语句的句式:
For Eacn 元素变量 In 对象集合或数组名称 语句块1 [Exit For] 语句块2 next 元素变量
和上面For—next句式是一样的工作原理。
这里的“元素变量”是用来遍历集合或数中中元素的变量,它从集合或数组的第一个元素开始,直到最后
一个元素,然后退出循环。
这里我们举个例子,把当前工作薄中工作表的名称写在A列,程序为:
1. 2. 3. 4. 5. 6. 7. 8.
复制代码
Sub shtname()
Dim i As Integer, sht As Worksheet i = 1
For Each sht In Worksheets Cells(i, 1) = sht.Name
i = i + 1 '让写入名称的单元格下移一行 Next End Sub
程序流程控制——Do While语句
===========================
Do While也是循环语句,它分为两种情况,一种是把循环条件放在开头,一种是把循环条件放在结尾。
1、开头判断循环条件 语句格式:
Do Wihle 循环条件 语句块1 [Exit Do] 语句块2 Loop
首先判断循环条件,条件为真则执行Do到Loop之间的语句。
2、结尾判断循环条件 语句格式: Do
语句块1 [Exit Do] 语句块2
Loop Wihle 循环条件
先执行一次Do到Loop之间的语句,再判断循环条件,满足条件则进行循环。
两种格式的区别:因为第二种格式是把循环体放在尾部,得先执行一遍语句再进行循环条件判断,所以,同样的条件,第二种格式的循环会比第一种多执行一次循环部份的语句。 我们用Do While语句来解决求1——1000的自然数的和的问题:
1. 2. 3. 4. 5. 6.
Sub mysum()
Dim Lsum As Long, i As Long i = 1
Do While i <= 1000 Lsum = Lsum + i i = i + 1
7. Loop
8. MsgBox \到1000的自然数和为:\9. End Sub
程序流程控制——Do Until 语句
这个和Do While语句类似,它也有两种形式,学了Do While语句,再看这个,就可以无师自通了。下面就简单介绍下:
1、开头判断循环条件 语句格式:
Do Until 循环条件 语句块1 [Exit Do] 语句块2 Loop
2、结尾判断循环条件 语句格式: Do
语句块1 [Exit Do] 语句块2
Loop Until 循环条件
执行Do 和Loop之间的指令,直到循环条件为真时退出循环。
直到循环条件为真时退出循环,这是Do Until 与 Do While的区别。而它两种语句格式的区别,也是第二种比第一种多执行一次循环部分的语句。
还是求1——1000自然数的问题,这次我们换用Do Untile语句:
1. 2. 3. 4. 5. 6. 7. 8. 9.
Sub mysum()
Dim Lsum As Long, i As Long i = 1 Do
Lsum = Lsum + i i = i + 1
Loop Until i > 1000
MsgBox \到1000的自然数和为:\End Sub
复制代码
是的,你看了上面的代码,觉得和楼上我们写的代码变化并不大。这里我用的是第二种格式(结尾判断)的语句,你可以试着用第一种句式写一写,或者改一改其他的问题.这里,我只是举个例子,路还得让你自己走!
程序流程控制——Go to 语句
===========================
Go to 在英语里是什么?相信大家的英语都比我好得太多,不用多说。其实Go to 语句的作用用定两个英语单词就说明问题了,“Go to 地点”就是去到哪儿的意思。
Go to 语句是将程序转到指定的标签的语句位置,然后继续往下执行。Go to 语句通常用来作错误处理。 同样的,还是用Go to 语句来做1——1000自然数的和:
1. 2. 3. 4. 5. 6. 7. 8. 9.
Sub mysum()
Dim Lsum As Long, i As Long i = 1
x: '为go to 语句设置的标签,必须以英文状态下的冒号结尾 Lsum = Lsum + i i = i + 1
If i <= 1000 Then GoTo x '如果i<=1000,则程序跳到标签X处 MsgBox \到1000的自然数和为:\End Sub
复制代码
注意:为Go to 语句设置的标签必须以英文状态的冒号结尾。 有人说,为了方便程序的阅读,规范程序,在程序里也避免少用Go to 语句,我很赞同,也希望你们能养成这个习惯。
用户窗体
-----------------------
用户窗体(UserForm对象)是VBA的另一类对象。它表现出来是一个窗口或对话框,如前面我们说的MsgBox与InputBox语句弹出来的都属于窗体。使用窗体可以提供一个形象的用户界面。同我们可以在工作表(WorkSheet)上在添加不同的控件一样,在这个界面上,我们可以添加命令按钮、标签、图像、列表框等控件,用户可以通过修改控件的属性、编写不同的事件过程在程序运行过程中与程序进行交互。
1、添加窗体
如果你还没有忘记怎么插入模块?那请用同样的方法插入一个用户窗体。
Alt+F11快捷键打开VBE编辑窗口,在工程资源管理器窗口中单击右键,选择“插入——用户窗体”命令。
Excel为用户窗体取名,同为工作表、按钮等取名一样,采用“老大,老二,老三??”的取名方
相关推荐: