📜  VBA函数

📅  最后修改于: 2021-01-11 14:18:53             🧑  作者: Mango

VBA功能

函数是一段执行特定任务并返回结果的代码。函数主要用于执行重复性任务,例如执行计算,格式化输出数据等。

在VBA中,您可以创建可以在工作表中使用的函数或用户定义函数,就像常规函数一样。

当现有的excel函数还不够时,这将非常有用。在这些情况下,您可以创建自定义的用户定义函数来满足您的特定需求。

您可以将函数放入模块中。让我们一步一步看:

步骤1:转到“开发人员”复选框。

步骤2:单击Visual Basic编辑器。

步骤3:然后点击“插入”按钮。

步骤4:选择Module(模块)选项。

句法

Private Function FunctionName (ByVal arg1 As Integer, ByVal arg2 As Integer)

    FunctionName = arg1 + arg2 

End Function

例如,在下面的代码中假设一个名为Sum的函数,例如:

Private Function Sum (x As Double, y As Double) As Double
Area = x + y
End Function

说明:在此示例中,函数具有两个参数(双精度类型)和一个返回类型(也为双精度类型)。函数名称为Sum,表示要返回的结果,例如(x + y)。

现在,您可以在代码中的其他位置使用此函数,只需仅使用函数名称(Sum)并为每个参数指定一个值即可。

在您的工作表上插入一个命令按钮,并添加以下代码。

Dim z As Double 
z = Sum (4, 8) + 3
MsgBox z 

说明:您可以使用另一个变量z来存储结果。该函数返回一个值,因此您必须在代码中捕获这些值。另外,您可以向该变量添加另一个值。使用MsgBox显示值。

单击工作表上的命令按钮后,您将得到以下结果。

函数与子例程非常相似。函数和子例程之间的唯一区别是,函数在调用时会返回值,但是子例程在调用时不会返回值。

假设您要查找区域,因此需要创建一个函数,该函数接受可以使用函数名称本身返回的值。

步骤1:命令按钮添加到工作表。

1.然后设置“命令”按钮的“名称”属性。

2.设置命令按钮的标题属性。

3.现在,界面如下图所示。

步骤2:打开代码窗口并编写以下代码。

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

步骤3:编写调用函数的代码。

  • 右键单击btnArea_Click命令按钮。
  • 选择查看代码选项。
  • 并添加以下代码。
Private Sub btnAreaFunction_Click()
    MsgBox Area(5, 9)
End Sub

步骤4:运行上面的代码,您将获得以下输出,如下面的屏幕快照所示。