找出哪个函数调用了 VBA excel 中的另一个函数

Finding out which function called other funciton in VBA excel

问题 我有一个 excel 文件,其中包含相当复杂的 VBA 代码,我在追溯和调试错误时遇到了一些问题。 有时一个函数 B 得到了一个它不应该得到的值并崩溃了,但在这一点上我不可能知道哪个其他函数调用了那个函数 B,而且找到它的 anylys 过程非常耗时。

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

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

进入

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

信息变量是函数调用的名称。 这显然非常耗时(重构一切)。此外,我也不知道如何访问代码调用函数的 "sub" 的名称,例如:

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

似乎不​​存在于 VBA

一些想法?

我看看here, ,这里

调试你的宏,在有问题的行上放置一个断点(以防该行被调用得太频繁,添加一个条件只在该条件下中断),并查看调用堆栈(键盘快捷键 Ctrl+L).