VBA - 用户定义函数


函数是一组可重用代码,可以在程序中的任何位置调用。这消除了一遍又一遍地编写相同代码的需要。这使得程序员能够将大程序划分为许多小的且可管理的函数。

除了内置函数之外,VBA 还允许编写用户定义的函数。在本章中,您将学习如何在 VBA 中编写自己的函数。

功能定义

VBA 函数可以有一个可选的 return 语句。如果您想从函数返回值,则这是必需的。

例如,您可以在函数中传递两个数字,然后您可以期望函数在调用程序中返回它们的乘法。

注意- 函数可以返回用逗号分隔的多个值作为分配给函数名称本身的数组。

在使用函数之前,我们需要定义该特定函数。在 VBA 中定义函数的最常见方法是使用Function关键字,后跟唯一的函数名称,它可能包含也可能不包含参数列表以及带有End Function关键字的语句,该语句指示函数的结束。以下是基本语法。

句法

添加一个按钮并添加以下功能。

Function Functionname(parameter-list)
   statement 1
   statement 2
   statement 3
   .......
   statement n
End Function

例子

添加以下返回面积的函数。请注意,一个或多个值可以与函数名称本身一起返回。

Function findArea(Length As Double, Optional Width As Variant)
   If IsMissing(Width) Then
      findArea = Length * Length
   Else
      findArea = Length * Width
   End If
End Function

调用函数

要调用函数,请使用函数名称调用该函数,如以下屏幕截图所示。

VBA 中的决策语句

如下所示的区域的输出将显示给用户。

VBA 中的决策语句