【问题标题】:How to know the procedure by which subroutine called? in excel vba如何知道调用了哪个子程序的程序?在excel vba中
【发布时间】:2013-03-29 02:31:25
【问题描述】:

我有时在子程序上有错误。子程序被许多程序调用。因此,我尝试查找调用程序以进行跨步。

顺便说一下,用户自定义函数可以知道调用者。
简直了。

MsgBox Application.Caller

我们可以看到对话框和调用者单元格地址。

我想知道子程序的调用程序。

【问题讨论】:

  • 您想使用代码来查找您需要的内容吗?如果不是,那么@Santosh 的回复就是您想要的。 :)
  • @SiddharthRout 老问题,我知道,但我正在尝试用代码来做到这一点。有什么想法吗?
  • 我仍然不知道在 vba 代码中访问调用堆栈。更好的主意,(不是最好的)将父子模块名称发送到每个调用者子模块上的被调用子模块。或者,创建原始调用堆栈 (hammondmason.wordpress.com/2015/03/10/…)。不过这个思路也是散栈代码,还不错。

标签: vba excel subroutine


【解决方案1】:

您可以使用调用堆栈对话框

例如在下图中,proc3 被 proc2 调用,显示在调用堆栈对话框中。

【讨论】:

  • + 1 对于非 VBA 方法。好一个:)
  • @Siddharth Rout 很高兴能从你那里得到 +1,sirjee
  • Naoya Yamashita 请放大图片或在更大的屏幕上看到它。
  • 很抱歉,浏览器更新会导致问题。
  • 最后,我们无法知道代码上的调用程序名称?我想在消息框中使用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-04-19
  • 1970-01-01
  • 1970-01-01
  • 2010-10-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多