Aly*_*yss 2 vba compiler-errors
我是一个很长时间的狂热Excel用户,但我刚刚开始学习VBA.我使用以下代码但在尝试运行时遇到错误Sub test:
编译错误:未定义变量
你能帮我弄清楚出了什么问题吗?
Option Explicit
Function toFarenheit(degrees)
toFarenheit = (9 / 5) * degrees + 32
End Function
Function toCentigrade(degrees)
toCentigrade = (5 / 9) * degrees - 32
End Function
Sub test()
answer = toCentigrade(55)
MsgBox answer
End Sub
Run Code Online (Sandbox Code Playgroud)
您已Option Explicit启用,这意味着您必须在使用它们之前声明您的变量.
在Sub test,你错过了一个声明answer.添加它应该解决它:
Sub test()
Dim answer As Variant
answer = toCentigrade(55)
MsgBox answer
End Sub
Run Code Online (Sandbox Code Playgroud)
编辑
由于您不熟悉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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
40892 次 |
| 最近记录: |