需要从vba中的函数返回值

时间:2017-07-10 11:10:15

标签: vba excel-vba excel

我试图从函数中返回一个值,但是没有发生。

Public sub test()
  x = 2
  msgbox number(x)
Exit Sub

Public Function number(num)
  if len(num) = 1 then
     num = "0" + num
  End if
End Function

该函数返回一个空值。

2 个答案:

答案 0 :(得分:2)

Public function number(num as string) as string
If len(num) = 1 then
    Number ="0" & num
Else 
    Number = num
End if
End function

您需要在函数中设置代码,将值设置为函数名称 - 返回值。

答案 1 :(得分:2)

您需要将结果分配给函数名称,并将0连接起来,如下所示:

Public Function number(num) As String
  if len(num) = 1 then
     number = "0" & num
  Else
     number = num
  End if
End Function

虽然使用Format(num, "00")

似乎更容易