【问题标题】:Exit Sub And Call another Sub退出子并调用另一个子
【发布时间】:2015-06-23 14:18:40
【问题描述】:

我有两个潜艇,sub1 和 sub2。如果满足条件,我想完全退出 sub1 并启动 sub2。我的尝试是(从:

sub1
.
.
If x=y Then
    Exit Sub And Call sub2
End If
.
.
End Sub

【问题讨论】:

    标签: vba excel call


    【解决方案1】:

    但你离得太近了!

    sub1
    .
    .
    If x=y Then
        Call sub2
        Exit Sub
    End If
    .
    .
    End Sub
    

    【讨论】:

    • 谢谢,还没有机会尝试,但是这个 sub1 会在运行 sub2 之前退出吗?
    • 好吧,当您说“调用 sub2”时,它会退出 sub1。当它完成 sub2 时,它将返回到 sub1,但随后立即退出,所以实际上,是的。如果你想挑剔,你可以在 sub2 中把 'end' 放在 'end sub' 之前,它会杀死所有正在运行的宏并且永远不会返回到 sub1。但最终的影响是相同的,这可能更整洁。
    • 我的 sub2 以一个计时器结束,该计时器再次从头开始 sub1,所以我需要 sub1 在 sub2 运行时完全“死”,这就是为什么我之前询问上述是否会杀死 sub1它调用 sub2。也许我可以输入“Application.OnTime (Now + TimeValue("00:00:05")), "sub2"" 而不仅仅是“调用 sub2”,让 excel 有 5 秒的时间退出 sub,然后运行 ​​sub2?
    • 但我相信 sub1 的实例 1 将在 sub2 结束后立即死亡,无论任何计时器。如果有任何重叠,将创建一个实例 2......虽然我喜欢你的 application.ontime 解决方案。
    猜你喜欢
    • 2021-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-15
    • 2010-12-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多