我试图理解 ByVal 和 ByRef 并使用 ByVal 关键字将参数从 long 传递到 double。
我注意到 VBA 给了我 y 平方值的错误答案。当 y (i in my sub) 是一个整数时,它确实有效。
在下面的示例中,我有 i = 22.5。
电子表格给了我 506.25。
我的函数给了我 484。
我认为 long 和 double 都支持小数。
Sub automation_test()
Dim i As Long
Dim j As Long
Dim x As Long
Dim ans As Long
i = Range("B1")
j = Range("B2")
x = Range("B3")
ans = my_model(i, j, x)
Range("B4").Value = ans
End Sub
Function my_model(ByVal y As Double, ByVal m As Double, ByVal q As Double) As Double
' my_model = (y ^ 2) * (m ^ 3) * (q ^ 1 / 2)
my_model = y ^ 2
End Function