作者:wp_725133 | 来源:互联网 | 2023-05-29 10:08
1> Jason Faulkn..:
您已Option Explicit
启用,这意味着您必须在使用它们之前声明您的变量.
在Sub test
,你错过了一个声明answer
.添加它应该解决它:
Sub test()
Dim answer As Variant
answer = toCentigrade(55)
MsgBox answer
End Sub
编辑
由于您不熟悉VBA,因此您可能需要考虑键入变量和函数返回.你不必这样做(一切都会被视为一个Variant
),但这是一个好习惯.
如果您正确键入所有内容,您的示例将变为:
Option Explicit
' Accept a double value and return a double type value.
Function toFarenheit(degrees As Double) As Double
toFarenheit = (9 / 5) * degrees + 32
End Function
Function toCentigrade(degrees As Double) As Double
toCentigrade = (5 / 9) * degrees - 32
End Function
Sub test()
' Variable type matches what the function will return.
Dim answer As Double
answer = toCentigrade(55)
MsgBox answer
End Sub
我想补充一点,自定义函数应该是`toWhatever(degrees As Long)As Long`或者你想要的任何变量类型.(不是必需的,但总是有助于定义变量类型)