程序(也叫做过程)是作为一个整体执行的一组语句,它指示Excle如何执行特定的任务,执行的任务可能是一个非常简单或非常复杂的任务,不过,把复杂的程序分解成小的程序是一个很好的做法。(复杂的问题简单化)。
VBA程序主要两种类型,分别是:子程序(Sub) 和 函数(Function)
在程序中 Sub程序名称()......End Sub 是VBA程序的固定结构是设计VBA程序的一个模板,我们在编写VBA程序中必须无条件遵守。
我们都知道在Excel 中有着许多本身自带的内置函数,在VBA编写程序时候可以直接调用,在很多的情况下,内置函数往往无法满足我们的需求,除了内置函数,VBA还允许编写用户定义的函数,并在Function和End Function 关键字之间写入语句。
VBA 中Sub 与Function的不同:
- Sub 过程不能返回一个值,而Function函数可以返回一个值。
- Sub过程可作为Excel中的宏来调用,而Function函数不会出现在”选择宏“对话框中,要在工作表中调用Function函数,可像使用Excel内部函数一样。
VBA 中Sub,Function 都可以中断跳出程序,中断程序方法:
Exit Sub, Exit Function.
Sub main()
Call one '调用子程序second
Call funMain '调用函数 funMain
Call second '调用子程序three
End Sub
Function funMain()
Debug.Print "Hello VBA Function 1"
Exit Function '
Call second
End Function
Sub one()
Debug.Print "Hello VBA 1"
End Sub
Sub second()
Exit Sub '退出当前子程序
Debug.Print "Hello VBA 2 "
End Sub
运行子程序main在立即窗口结果:
Hello VBA 1
Hello VBA Function 1
注解:Debug.Print ,在立即窗口会显示出结果。
VBA 无他,熟能生巧,敲代码。