返回代码似乎不会影响函数行为

时间:2015-11-09 19:17:06

标签: vba excel-vba excel

VBA新手在这里。我注意到函数的返回码不会影响返回值。我在这里错过了什么。

    Private Function test_fn_no_return_code(uc As String)
      test_fn_no_return_code = UCase(uc)
    End Function

    'works the same as 

    Private Function test_fn_no_return_code(uc As String) As String
      test_fn_no_return_code = UCase(uc)
    End Function

1 个答案:

答案 0 :(得分:3)

在VBA中,函数的return语句采用以下形式:

Function function_name(args) 
'do stuff...
    function_name = returned_value
    'Or, if returning an Object:
    'Set function_name = returned_object

End Function

这两个函数都有一个return语句。

test_fn_no_return_code = UCase(uc)

第一个没有的是一个显式的类型,所以它应该是Variant / String,它是由返回的数据隐含的。在这种情况下,您只是将参数uc As String置于上限,因此您将返回一个字符串。