如何从 vba 函数返回值(带有示例)


要从 VBA 中的函数返回值,必须将该值赋给函数名称。

例如,我们可以创建以下函数来将两个值相除,然后返回相除结果:

 Function DivideValues(x,y)
    DivideValues = x / y
End Function

该函数的名称是DivideValues ,因此要从该函数返回一个值,我们需要将x/y的结果分配给DivideValues中的同名变量。

如果您的函数涉及If Else逻辑,您可以多次将值赋给函数名称。

例如,您可以创建以下函数,如果您尝试除以零,则返回“无法除以零”,或者仅返回除法结果:

 Function DivideValues(x,y)
    If y = 0 Then
      DivideValues = " Cannot divide by zero "
    Else
      DivideValues = x / y
    End If
End Function

以下示例展示了如何在实践中使用此语法。

示例:如何从 VBA 函数返回值

假设我们要在 VBA 中创建一个函数,将单元格A2的值除以单元格B2的值:

我们可以创建以下函数来执行此操作:

 Function DivideValues(x,y)
    DivideValues = x / y
End Function

当我们运行这个宏时,我们会收到以下输出:

该函数返回值5 ,它是 50 除以 10 的结果。

我们还可以创建一个使用 If Else 逻辑的函数,首先检查我们要除的值是否不等于 0:

 Function DivideValues(x,y)
    If y = 0 Then
      DivideValues = " Cannot divide by zero "
    Else
      DivideValues = x / y
    End If
End Function

如果我们更改单元格B2中的值,然后使用此函数执行除法,我们将收到以下结果:

由于我们尝试除以零,因此函数返回“无法除以零”。

其他资源

以下教程说明如何在 VBA 中执行其他常见任务:

如何在VBA中注释掉一段代码
如何使用VBA检查文件是否存在
如何使用 VBA 创建文件夹

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注