子过程与函数类似,但也有一些不同。

  • 子过程不返回值,而函数可能返回值,也可能不返回值。
  • 可以在没有 call 关键字的情况下调用子过程。
  • 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

 

现在您将只能调用该函数,但不能调用子过程,如下面的屏幕截图所示。

VBA中的子程序

计算面积并仅在消息框中显示。

在 VBA 中计算面积子 2

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

在 VBA 中计算面积 Sub 3

原创文章,转载请注明出处:http://www.nwumba.cn/article/31/