2015-11-13 3 views
0

Я пытался написать функцию, которая возвращала коллекцию, но не могла заставить ее работать, поэтому я попробовал что-то очень простое. Я должен делать что-то действительно глупое.Почему эта простая функция не возвращает значение?

Когда я бегу temp1, в следующем коде, я ожидаю увидеть это:

afunc value = 4 
temp1 afunc = 4 

но то, что я получаю это:

afunc value = 4 
temp1 afunc = 0 

.

Function aFunc() As Integer 
    Dim theValue As Integer 
    Dim retValue As Integer 
    theValue = 4 
    Debug.Print "afunc value = " & theValue 
    retValue = theValue 
End Function 

Sub temp1() 
    Debug.Print "temp1 afunc = " & aFunc() 
End Sub 

Я уверен, что это что-то очень основное, но я не понимаю, что это такое.

+3

Вы никогда не устанавливаете 'aFunc' значение в функции, поэтому оно возвращает 0. Я думаю, вы хотите' aFunc = theValue'. – findwindow

+0

ОК, спасибо ... никогда не видел, чтобы в документе ... казалось, что возвращаемое значение будет последним выполненным оператором. – nPn

+1

Это ужасный doc, тогда XD в VBA, функция возвращает себя. – findwindow

ответ

2

В конец aFunc(), добавить aFunc = theValue вместо retValue = theValue.

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