子程序(Sub Procedures,也叫子過程)與函數類似,但有一些差異。
- 子過程不需要有返回一個值,而函數可能會或可能不會有返回一個值。
- 子程序可以不用
call
關鍵字來調用。 - 子程序總是包含在
Sub
和End Sub
語句中。
示例
Sub Area(x As Double, y As Double) MsgBox x * y End Sub
調用程序
要在腳本的某處調用過程,可以使用函數進行調用。無法使用與函數相同的方式來調用子過程,因為子過程不會返回值。
Function findArea(Length As Double, Width As Variant) area Length, Width ' To Calculate Area 'area' sub proc is called End Function
現在只能調用該函數,而不能調用子程序,如下圖所示。
該區域的面積僅在消息框中計算和顯示。
結果單元顯示為零,因為計算的面積值不是從函數返回的。簡而言之,不能直接在Excel工作表中調用子程序。