Содержимое ячейки A1 =test(2) где test - это функция:
Function test(ByRef x As Double) As Double
Range("A2") = x
test = x * x
End Function
Можете ли вы объяснить, почему это дает # #VALUE! в ячейке A1 и ничего в ячейке A2? Я ожидал, что A2 будет содержать 2 а A1 будет содержать 4. Без строки Range("A2") = x функция работает как ожидалось (возводя в квадрат значение ячейки).
Что действительно сбивает с толку, так это если вы calltest test с подпрограммой calltest тогда это calltest
Sub calltest()
t = test(2)
Range("A1") = t
End Sub
Function test(ByRef x As Double) As Double
Range("A2") = x
test = x * x
End Function
Но это не
Function test(ByRef x As Double) As Double
Range("A2") = x
End Function
