函数是一段执行特定任务并返回结果的代码。函数主要用于执行重复性任务, 例如执行计算, 格式化输出数据等。
在VBA中, 你可以创建可以在工作表中使用的函数或用户定义函数, 就像常规函数一样。
当现有的excel函数还不够时, 这将非常有用。在这些情况下, 你可以创建自定义的用户定义函数来满足你的特定需求。
你可以将功能放入模块中。让我们一步一步看:
步骤1:转到“开发人员”复选框。
步骤2:单击Visual Basic编辑器。
![VBA使用函数](http://www.srcmini02.com/wp-content/uploads/2020/03/vba-functions.png)
步骤3:然后点击“插入”按钮。
步骤4:选择Module(模块)选项。
![VBA使用函数](http://www.srcmini02.com/wp-content/uploads/2020/03/vba-functions2.png)
句法
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)。
现在, 你可以在代码中的其他位置使用此函数, 方法是仅使用函数名称(总和)并为每个参数指定一个值。
在你的工作表上插入一个命令按钮, 并添加以下代码。
Dim z As Double
z = Sum (4, 8) + 3
MsgBox z
说明:你可以使用另一个变量z来存储结果。该函数返回一个值, 因此你必须在代码中捕获这些值。另外, 你可以向该变量添加另一个值。使用MsgBox显示值。
单击工作表上的命令按钮后, 你将得到以下结果。
![VBA使用函数](http://www.srcmini02.com/wp-content/uploads/2020/03/vba-functions3.png)
例
函数与子例程非常相似。函数和子例程之间的唯一区别是, 函数在调用时会返回值, 但是子例程在调用时不会返回值。
假设你要查找区域, 因此需要创建一个函数, 该函数接受可以使用函数名称本身返回的值。
步骤1:将命令按钮添加到工作表。
![VBA使用函数](http://www.srcmini02.com/wp-content/uploads/2020/03/vba-functions4.png)
1.然后设置“命令”按钮的“名称”属性。
![VBA使用函数](http://www.srcmini02.com/wp-content/uploads/2020/03/vba-functions5.png)
2.设置命令按钮的标题属性。
3.现在, 界面如下图所示。
![VBA使用函数](http://www.srcmini02.com/wp-content/uploads/2020/03/vba-functions6.png)
步骤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:运行上面的代码, 你将获得以下输出, 如下面的屏幕快照所示。
![VBA使用函数](http://www.srcmini02.com/wp-content/uploads/2020/03/vba-functions7.png)
评论前必须登录!
注册