excel的宏与VBA入门(三)——流程控制


一、条件控制IF

if  逻辑表达式 then 语句块 end if

  带else的if语句:

 If  逻辑表达式1 Then 语句块1 ElseIf  逻辑表达式2  Then 语句块2 ElseIf 逻辑表达式3 Then 语句块3 … Else 语句块n End If

二、条件判断Select/Case

Select Case 测试表达式    Case 条件表达式1    语句块1    Case 条件表达式2    语句块2   Case 条件表达式3    语句块3    ......    Case 条件表达式n    语句块n    Case Else    语句块Else End Select.

  示例:

Sub test()   If [a1].Value = "" Then       MsgBox "A1单元格没有输入数字。"       Exit Sub '     退出程序
  End If   Select Case [a1].Value       Case 0 To 29           MsgBox ""       Case 30 To 59           MsgBox "不及格"       Case 60 To 79           MsgBox "及格"       Case 80 To 89           MsgBox "良好"       Case Else           MsgBox "优秀"   End Select
End Sub

三、循环控制For/Next

 For 循环变量=初值 to 终值 step 步长 循环体1 [exit for] 循环体2 next 循环变量   

  示例:(步长默认为1,next后的循环变量可以省略 )

Sub mysum()   Dim Lsum As Long, i As Long
  For i = 1 To 1000       Lsum = Lsum + i   Next
  MsgBox "1到1000的自然数和为:" & Lsum End Sub

  //更多实例,参考开篇链接

四、循环控制For/Each

For Eacn 元素变量 In 对象集合或数组名称 语句块1 [Exit For] 语句块2 next 元素变量

  //与上一个循环类似,这里采用元素变量从对象集合中取得方式

五、循环控制Do/While

 Do Wihle 循环条件 语句块1 [Exit Do] 语句块2 Loop

  Do 语句块1 [Exit Do] 语句块2 Loop Wihle 循环条件

  //示例暂略

六、循环控制Do/Until

Do Until 循环条件 语句块1 [Exit Do] 语句块2 Loop
   

 Do 语句块1 [Exit Do] 语句块2 Loop Until 循环条件

  //与Do/While相反的是为真时退出

七、循环控制GoTo

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 "1到1000的自然数和为:" & Lsum End Sub

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM