一行macros通过名称来停止其他macros

我知道..

Application.Run ("Realcount2") 

会调用一个macros。 你能用类似的东西来结束macros吗?

 Application.Stop("Realcount2") 

你也许可以做这样的事情,但我不确定它会有多可靠。 尽pipe如此,它似乎在一些简单的testing中为我工作。

声明一个像StopMacro这样的公共variables

 Public StopMacro as Boolean 

将这个macros分配给你的Button / etc,它设置一个公共variablesStopMacro

 Sub SetStopMacro() StopMacro = True End Sub 

这是一个示例循环结构。 使用DoEvents ,在循环中,每次迭代,检查StopMacroExitSub的值(如果为true)。

 Sub Macro1() Dim r As Long StopMacro = False For r = 1 To 100000 DoEvents If StopMacro = True Then Exit Sub ''''''''''''''''''''''''''''''''''''' ' ' ' Your code inside the loop ' ' ' ''''''''''''''''''''''''''''''''''''' Next End Sub