第7学时 循环代码
Forcounter=startToend[Stepstep]
[statements]
[ExitFor]
[statements]
Next[counter]
1)插入一个新的名为Countdown的子程序,这个过程将显示一系列的消息框以说明For语句和可选的Step从句的用法。
2)为Countdown过程输入如下代码:
Dim iCounter As Integer
For iCounter=1 To 3
Msgbox "CountUp"& iCounter
Next
For iCounter=3 To 1 Step - 1
Msgbox "CountDown:"&iCounter
Next
3)运行该过程,将看到第一个消息框,如图7-1所示。从消息框中可以看到,iCounter变量的当前值为1。
4)单击消息框上的“确定”按钮,直到看到如图7-2所示的消息框,此时iCounter的数值为3。
5)单击“确定”按钮,注意计数器的值开始递减。
6)继续单击“确定”按钮对消息框做出响应,直到过程运行完毕。
现在,你对For语句已经有了一定的了解,接下来将创建一个过程用For语句来计算。
语法1:
Do[{WhileUntil}condition]
[statements]
[ExitDo]
[statements]
Loop
语法2:
Do
[statements]
[ExitDo]
[statements]
Loop[{While Until}condition]
1)插入一个新的名为“EnterName”的子程序。该过程将提示用户输入名字,直到用户输入了名字或者选择退出才结束执行。
2)为EnterName过程输入如下代码:
Dim sName As String
Dim iResponse As Integer
SName=" "
Do While sName=" "
sName=InputBox("Please enter your name")
If sName=" " Then
iResponse=MsgBox("Do you wish to quit?", vbYesNo)
If iResponse=vbYes Then
Exit Do
End If
End If
Loop
1)插入一个新的名为“ListOfNames”的过程。该过程将让用户输入名字,直到用户选择不再继续为止。每次用户输入一个新的名字,动态数组都增加一个元素来保存这个名字。
2)为ListOfNames过程输入如下代码:
Dim iCount As Integer
Dim sNames () As String
Dim iResponse As Integer
Dim i As Integer
iResponse=vbYe s
Do While iResponse=vbYe s
iCount=iCount + 1
ReDim Preserve sNames(iCount) As String
sNames(iCount)=InputBox("Please enter a name")
If sNames (iCount)=" " Then
iResponse=MsgBox("Do you wish to continue?",vbYesNo)
If iResponse=vbYes Then
sNames(iCount)=InputBox("Please enter a name")
End If
End If
Loop
For i=1 To iCount-1
MsgBox("Name #" & i &"is" sNames(i))
Next