📜  VBA-子过程

📅  最后修改于: 2020-11-19 09:13:30             🧑  作者: Mango


子过程类似于函数,但是有一些区别。

  • 子过程不返回值,而函数可能会也可能不会返回值。

  • 子过程可以在没有调用关键字的情况下被调用。

  • 子过程始终包含在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

现在,您将只能调用该函数,而不能调用子过程,如以下屏幕快照所示。

VBA中的子过程

该区域是计算得出的,仅在消息框中显示。

计算VBA中的Sub 2区域

结果单元格显示为零,因为该函数返回面积值。简而言之,您不能从excel工作表中直接调用子过程。

计算VBA中的Sub 3区域