如何从 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 中执行其他常见任务: