在VBA中找出哪个功能调用了其他功能

时间:2019-03-13 10:35:21

标签: excel function debugging method-call

问题 我有一个Excel文件,后面有一个非常复杂的VBA代码,但在跟踪和调试错误时遇到了一些问题。 有时函数B获得了一个它不应该获取的值并崩溃了,但是在这一点上,我无法知道哪个其他函数调用了该函数B,而要找出该函数的任何过程都非常耗时。 / p>

我的解决方案 解决方案可以通过以下方式转换我拥有的所有功能:

Sub foo1(variable1 as string)
    'do whatever
End Sub

进入

Sub foo1(variable1 as string, inforvariable as string)
    'do whatever
End Sub

Infovariable是函数调用的名称。 这显然很耗时(重构所有内容)。此外,我也不知道如何访问代码调用函数的“ sub”的名称,例如:

infovariable = self.name
call foo1(variable1, inforvariable)

VBA中似乎不存在

一些想法?

我看看herehere和这里

1 个答案:

答案 0 :(得分:1)

调试您的宏,在出现问题的行上放置一个断点(以防该行被频繁调用,仅添加条件以打破该条件),并查看调用堆栈(键盘快捷键Ctrl+L )。