Excel VBA学习笔记-3

Visual Basic 语言参考的关键字分类篇

一.控制流关键字总结

 

1.分支

 

i.GoSub...Return 语句

 

在一个过程中跳到另一个子程序中执行,执行后再返回。

 

 

可以在过程中的任何地方使用 GoSub Return,但是 GoSub 和与之相应的 Return 语句必须放在同一个过程中。一个子程序中可以包含一个以上的 Return 语句,但是当碰到第一个 Return 语句时,程序就会返回到紧接在刚刚执行的 GoSub 语句之后的语句继续执行。

注意 不能使用 GoSub...Return 来进入或退出 Sub 过程。

提示 创建分开的过程,并使用 GoSub...Return 来调用,可以使程序更具结构化。

 

 

 

Sub GosubDemo()
Dim Num
' 请求用户输入一个数字。
    Num = InputBox("Enter a positive number to be divided by 2.")
' 如果用户输入一个正整型,则使用子程序。
    If Num > 0 Then GoSub MyRoutine    
    Debug.Print Num
    Exit Sub    ' 使用 Exit 命令来避免错误发生。
MyRoutine:
    Num = Num/2    ' 将数除以 2。
    Return    ' 将控制返回 GoSub 之后的语句。
End Sub

 

 

ii.On Error 语句

a.On Error GoTo line  

类似于java的try{...}catch(Exception e){...}如果要对错误信息进行捕获处理,最好使用它

 

Sub test()
Dim a As Integer
Dim b As Integer
a = 3
b = 0
On Error GoTo errorline
Debug.Print a / b
errorline:
Select Case Err.Number
   Case 11
     Debug.Print "除数不能为零"
   Case Else
     Debug.Print "其他错误"
End Select
End Sub

 

b.On Error Resume Next

错误发生时,仍然继续执行下面的语句

 

Sub test()
Dim a As Integer
Dim b As Integer
a = 3
b = 0
On Error Resume Next
Debug.Print a / b
Select Case Err.Number
   Case 11
     Debug.Print "除数不能为零"
     b = 1
   Case Else
     Debug.Print "其他错误"
End Select
End Sub

 

c.On Error GoTo 0

关闭错误处理程序,类似java的throw,抛出异常

 

Sub test()
Dim a As Integer
Dim b As Integer
a = 3
b = 0
On Error Resume Next
Debug.Print a / b
On Error GoTo 0
Select Case Err.Number
   Case 11
     Debug.Print "除数不能为零"
     b = 1
   Case Else
     Debug.Print "其他错误"
End Select
End Sub

 

 iii.On...GoSub与On...GoTo

 Sub OnGosubGotoDemo()

Dim Number, MyString
    Number = 2    ' 设置变量初值。
    ' Branch to Sub2.
    On Number GoSub Sub1, Sub2    ' 在 On...GoSub 退出後,程序会回到此处来继续完成。
    On Number GoTo Line1, Line2    ' 完成 Line2 标记之区段。
    ' 在 On...GoTo 退出之后,程序不会回到此处来。
    Exit Sub
Sub1:
    MyString = "In Sub1": Return
Sub2:
    MyString = "In Sub2": Return
Line1:
    MyString = "In Line1"
Line2:
    MyString = "In Line2"
End Sub

 iv.

Office编程百宝箱29.0,简称VBA百宝箱。为Office编程国产首款超大型插件,原创30多个功能宝贝。所有功能通用于Excel、Word、PowerPoint、Outlook、Access、Publisher、Project、Office全家福。适用于微软Office2003、2007、2010、2013、2016、2019版本以及WPS2016、2019专业增强版本。 office编程百宝箱 v29.0 功能简介: 1.为Office编程国产首款超大型插件,原创30多个功能宝贝。 2.所有功能通用于Excel、Word、PowerPoint、Outlook、Access、Publisher、Project、Office全家福。 3.适用于微软Office2003、2007、2010、2013、2016、2019版本以及WPS2016、2019专业增强版本。 4.集代码美化排版、繁简内码转换、工程免密查看、精简程序代码、错误语句处理、代码注释处理、集多个功能宝贝于一身。 5.提取工程代码、工程项目代码输出、添加去除行号、删除空行、工程信息统计等。 6.提供许多免费功能,且无限期使用,致地提升了代码加工、错误处理、程序开发的效率。 7.开发应用环境为微软32位操作系统加32位Office,或者微软64位操作系统加32位Office。 8.完善代码智能美化、添加程序行号、插入防错代码、注释选中代码、恢复注释代码、删除程序行号。 9.完善精减程序代码、代码免密查看、恢复代码密码、标注排序行号、提取模块代码、提取工程代码。 10.完善统计模块行数、统计模工程行数、工程智能美化、删除注释内容、删除空白空行、删除模块代码。 11.完善删除工程代码、删除模块注释、删除工程注释、删除项目注释、处理错误语句、工程代码输出文档。 12.完善输出全部项目代码、简体转繁体、繁体转简体、GB2转BIG5、BIG5转GB2、定义字典、正则、FSO、ADO、DAO对象、强制变量声明等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值