通过函数返回变量并将其存储为新变量

时间:2016-06-14 09:00:01

标签: vba excel-vba excel

我想创建两个函数:一个应该“生成”一个数字,另一个应该用这个数字作为参数执行一个函数。

我收到了以下代码

sub get_number()
  Dim x as Integer
  x = 3
  return x
end sub

但我不能让它返回一个数值,因为它会抛出编译错误。关于如何让这个函数返回一个x值并将其存储在一个新变量中的任何想法(fe y()

2 个答案:

答案 0 :(得分:1)

您需要使用函数,而不是Sub,并将返回值赋给函数名称:

Function get_number()
  Dim x as Integer
  x = 3
  get_number = x
end Function

然后使用:

y = get_number

在你的其他代码中。

答案 1 :(得分:1)

Sub无法返回值;使用Function

Function get_number()
    Dim x as Integer
    x = 3
    get_number = x
End Function

myNumber = get_number()
MsgBox myNumber ' will return the 3

或者您可以坚持Sub并使用参数处理返回值(您必须在调用函数中或之前定义)

Sub get_number(byRef myNumber) ' accepts myNumber as a parameter and returns its value
  Dim x as Integer
  x = 3
  myNumber = x
End Sub