如何返回此vba函数的值?如果我将debug.print添加到函数本身,它将打印正确的值。
Sub testIt()
Debug.Print getAccountNumber("keyB")
End Sub
Function getAccountNumber(myKey)
Dim c As Collection
Set c = New Collection
c.Add "4005", "keyA"
c.Add "4015", "keyB"
c.Add "4030", "keyC"
c.Item (myKey)
End Function
答案 0 :(得分:3)
您必须在函数内的某处设置函数的返回值。在上面的示例中,您将执行类似
的操作getAccountNumber = c.Item (myKey)
退出函数时存储在getAccountNumber
中的任何内容都会返回到调用它的内容。我还要补充说,指定函数返回的内容被认为是一种好习惯,在这种情况下,您可能应该将函数定义为Function getAccountNumber(myKey) as String
。
答案 1 :(得分:2)
通过将结果分配给函数名称来从函数返回值:
Function getAccountNumber(myKey)
Dim c As Collection
Set c = New Collection
c.Add "4005", "keyA"
c.Add "4015", "keyB"
c.Add "4030", "keyC"
getAccountNumber = c.Item(myKey)
End Function