【发布时间】:2015-04-19 13:03:01
【问题描述】:
我有一个自定义宏函数,在模块中声明:
Function myMacro(value as String) as String
myMacro = "Hello world " & value
End Function
这个宏被插入到一个单元格(例如A1)中,并以B2的值作为参数。
Fx(A1 cell) = "MyMacro(B2)"
所以我的 MyMacro func 每次 B2 中的值改变时都会触发,这是正常的,正是我想要的。
但我想改进我的宏以使其更加用户友好,因为我的宏可能需要很长时间(3 或 4 秒)才能执行。我希望我的宏在显示实际结果之前在结果单元格内显示“计算...”。
为此,我的宏必须知道计算是在哪个单元格上完成的。在前面的例子中,我的宏需要知道宏是在 A1 单元格上触发的。
Application.Cell 属性包含当前单元格(用鼠标选择的单元格),并不总是包含宏公式的单元格。
有没有办法让 VBA 函数知道哪个单元格调用了该函数?
【问题讨论】: