VBA - 子程式



子程式與函式類似,但它們之間有一些差異。

  • 子程式返回任何值,而函式可以返回或不返回一個值。

  • 子程式可以不帶呼叫關鍵字被呼叫。

  • 子程式始終被包含在 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

現在你只能呼叫函式,但不能呼叫子程式,如下面的螢幕截圖所示。

Sub Procedure in VBA

該區域已計算並僅在訊息框中顯示。

Calculate Area Sub 2 in VBA

結果單元格顯示零,因為沒有從函式中返回區域值。簡而言之,你不能直接從 Excel 工作表呼叫子過程。

Calculate Area Sub 3 in VBA
廣告