Excel VBA 函数教程:返回值、调用、示例

什么是函数?

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

假设您正在开发一个计算贷款利息的程序。您可以创建一个函数,该函数接受贷款金额和还款期限。然后,该函数可以使用贷款金额和还款期限来计算利息并返回该值。

为什么要使用函数

使用函数的好处与上面关于子过程的部分相同。

命名函数的规则

命名函数的规则与上面关于命名子过程的规则相同。

VBA 声明函数的语法

Private Function myFunction (ByVal arg1 As Integer, ByVal arg2 As Integer)
    myFunction = arg1 + arg2
End Function

在语法中,

代码 行动
  • “Private Function myFunction(…)”
  • 此处使用关键字“Function”来声明一个名为“myFunction”的函数并开始函数体。
  • 关键字“Private”用于指定函数的范围
  • “ByVal arg1 As Integer, ByVal arg2 As Integer”
  • 它声明了两个名为“arg1”和“arg2”的整数数据类型的参数。
  • myFunction = arg1 + arg2
  • 计算表达式 arg1 + arg2 的值并将结果赋给函数名。
  • “End Function”
  • “End Sub”用于结束函数体。

通过示例演示函数

函数与子过程非常相似。子过程和函数的主要区别在于函数在被调用时会返回一个值。而子过程在被调用时不会返回值。假设您想对两个数字进行相加。您可以创建一个函数,该函数接受两个数字并返回它们的和。

  1. 创建用户界面
  2. 添加函数
  3. 为命令按钮编写代码
  4. 测试代码

步骤 1) 用户界面

将一个命令按钮添加到工作表中,如下所示:

VBA Functions and Subroutine

将 CommanButton1 的属性设置为以下值:

序号 控制 属性
1 CommandButton1 名称 btnAddNumbers
2 标题 添加数字函数


您的界面现在应如下所示:

VBA Functions and Subroutine

步骤 2) 函数代码。

  1. 按 Alt + F11 打开代码窗口
  2. 添加以下代码:
Private Function addNumbers(ByVal firstNumber As Integer, ByVal secondNumber As Integer)
    addNumbers = firstNumber + secondNumber
End Function

在代码中,

代码 行动
  • “Private Function addNumbers(…)”
  • 它声明了一个名为“addNumbers”的私有函数,该函数接受两个整数参数。
  • “ByVal firstNumber As Integer, ByVal secondNumber As Integer”
  • 它声明了两个参数变量 firstNumber 和 secondNumber
  • “addNumbers = firstNumber + secondNumber”
  • 它将 firstNumber 和 secondNumber 的值相加,并将和赋给 addNumbers。

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

  1. 右键单击 btnAddNumbers_Click 命令按钮
  2. 选择“查看代码”
  3. 添加以下代码:
Private Sub btnAddNumbersFunction_Click()
    MsgBox addNumbers(2, 3)
End Sub

在代码中,

代码 行动
“MsgBox addNumbers(2,3)”
  • 它调用 addNumbers 函数并将 2 和 3 作为参数传递。该函数返回两个数字的和,即 5。

步骤 4) 运行程序,您将获得以下结果:

VBA Functions and Subroutine

下载包含上述代码的 Excel 文件

下载上面的 Excel 代码

摘要

  • 函数是执行特定任务的一段代码。函数在执行后会返回值。
  • 子过程和函数都提供代码重用性。
  • 子过程和函数都有助于将大块代码分解成小的、可管理的块。