VBA副程式

副程式(Sub Procedures,也叫子過程)與函數類似,但有一些差異。

  • 子過程不需要有返回一個值,而函數可能會或可能不會有返回一個值。
  • 副程式可以不用call關鍵字來調用。
  • 副程式總是包含在SubEnd 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工作表中調用副程式。


上一篇: VBA用戶自定義函數 下一篇: VBA事件