2015-03-05 5 views
0

Как вернуть значение этой функции vba? Если я добавлю debug.print в саму функцию, она вернет правильное значение.VBA Получить значение функции

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 

ответ

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 
+0

Perfect. Спасибо – adayzdone

3

Вы должны установить возвращаемое значение функции где-то в пределах функции. В вашем примере выше, вы могли бы сделать что-то вроде

getAccountNumber = c.Item (myKey) 

Безотносительно хранится в getAccountNumber при выходе из функции является то, что возвращается к тому, что называли. Я также добавлю, что считается хорошей практикой, чтобы указать, что возвращает funtion, в вашем случае вы, вероятно, должны определить функцию как Function getAccountNumber(myKey) as String.

+0

Спасибо за быстрый ответ! – adayzdone

Смежные вопросы