首页 > 解决方案 > MsgBox 代码不起作用

问题描述

在我的设备上的宏中,当我输入带有一些数字或文本的“MsgBox”时,只要我移到下一行,它就会自动更改为“msgbox”,并且在执行时它开始在这一行给出错误。我该如何解决?

Sub msgbox()

    msgbox "hello"

End Sub

标签: excelvba

解决方案


试试这个代码

Sub MsgBox_test()

    MsgBox "hello"

End Sub

在函数中引用相同的函数名称为递归,它需要一个结束情况。

每当您看到递归时,您都需要看到一条If语句,该语句为某些参数组合应用了结束情况。

递归示例:

Function Fibonacci(ByVal n As Integer) As Integer
    If n <= 2 Then Fibonacci=1 Else Fibonacci=Fibonacci(n-1)+Fibonacci(n-2)
End Function

意思是,如果 n 小于 2,那么该函数将返回一个实际数字。

在您的情况下,递归永远不会结束,这会导致Stack Overflow异常。


推荐阅读