gpt4 book ai didi

vba - 如何在同一个子中调用一个子一次?

转载 作者:行者123 更新时间:2023-12-04 21:55:27 25 4
gpt4 key购买 nike

我想根据条件从同一个子例程中调用一个子例程,但一旦满足就退出它

例如

Dim p as Long

Sub Main()
Debug.Print "Start Main"
p = 1
call A
Debug.Print "End Main"
End Sub

Sub A()

Debug.Print "Start"

if p = 1 then
p = 2
call A
End if

Debug.Print "End"

End Sub

如果我运行 Main我会得到以下输出这是正常的,因为我们调用 A 两次所以两个开始和两个结束
Start Main
Start
Start
End
End
End Main

但我不想回到 End if sub A 在它第一次结束该 sub 之后意味着如果我调用 Main 我想要以下输出
Start Main
Start
Start
End
End Main

注意只有一个 End

最佳答案

使用 else 子句

Dim p As Long

Sub Main()

Debug.Print "Start Main"

p = 1
Call A

Debug.Print "End Main"

End Sub

Sub A()

Debug.Print "Start"

If p = 1 Then
p = 2
Call A
Else
Debug.Print "End"
End If

End Sub

关于vba - 如何在同一个子中调用一个子一次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45776270/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com