VBA函数=函数参数?

问题描述:

下面是一个带有switch语句的示例函数,但是我很难理解函数如何等于所提供的参数?VBA函数=函数参数?

Function getnumber(value, method) As String 
    Dim i, j As Integer 
    Dim rtn As String 
    j = 0 
    Select Case method 
    Case 0: 


    getnumber = value 


    Case 1: 
     rtn = "" 
     For i = 1 To Len(value) 
      If IsNumeric(Mid(value, i, 1)) Then 
       j = j + 1 
       rtn = rtn & Mid(value, i, 1) 
      Else 
       If j > 3 Then Exit For 
       j = 0 
       rtn = "" 
      End If 
     Next 
     If rtn = "" Then getnumber = "" Else getnumber = rtn 
    Case Else: 
     MsgBox ("Invalid method in getnumber") 
    End Select 
End Function 

“getnumber = value”真的让我困惑。 Where getnumber是函数和值是getnumber的参数函数

任何想法?

+0

'getnumber = value'是返回值 - 如果调用代码调用'getnumber(value,method)',它将接收'value'。 – assylias 2013-03-25 11:43:22

+3

与您的问题无关,但您的功能缺少大量的变量标注。 'Dim i,j As Integer'应该是Dim i As Integer,j As Integer',值和方法也应该被标注(我认为'As Variant'或'As String'和'As Integer') – 2013-03-25 11:49:23

在VBA中,可以使用语法YourFunctionName = ValueToReturn指定函数的返回值。

因此,getnumber = value只是将value设置为要从函数返回的值。

+0

感谢您的清除它为我起彼得 – iswinky 2013-03-25 13:25:38