问题 我有一个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中似乎不存在
一些想法?
答案 0 :(得分:1)
调试您的宏,在出现问题的行上放置一个断点(以防该行被频繁调用,仅添加条件以打破该条件),并查看调用堆栈(键盘快捷键Ctrl+L
)。