如何以编程方式查找所谓的宏

wrc*_*hey 5 excel vba

我正在尝试编写一个宏,该宏的一部分的反应有所不同,具体取决于它是直接从工作表中的按钮调用还是从另一个宏间接调用。我还希望能够让它根据其他宏的调用而做出不同的反应

在这种情况下,如果宏是通过按钮手动激活的,或者如果它已由特定的其他宏运行,则会弹出一个消息框,让用户知道它已成功完成,但如果相同的宏由另一个宏,那么我想跳过这一步。

有办法做到这一点吗?

qua*_*285 3

您可以通过向子例程传递参数来做到这一点。这是一个非常基本的示例:

Sub test(number, displayMessage)
MsgBox ("The number is " & number)
If displayMessage Then MsgBox ("You ran the B sub")
End Sub

Sub aSub()
Call test(4, False)
End Sub

Sub bSub()
Call test(7, True)
End Sub
Run Code Online (Sandbox Code Playgroud)

尝试同时运行 aSub 和 bSub。希望这有帮助。