VBA子過程

子過程

Sub過程類似函數,但也有一些差別。

  • 子過程沒有返回值,同時函數可能會或可能不會返回值。

  • 子過程調用可以不用關鍵字。

  • 子過程總是在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

1.現在可以調用函數只而不是子過程,如下圖所示。

sub_procedure

2.面積計算,僅在消息框中顯示。

calculate_area_sub_2

3.結果單元格顯示爲零面積值不是從函數返回。總之,不能直接從Excel工作表調用一個子過程。

calculate_area_sub_3