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 中的决策语句