VBA - INTERROMPER TOTALMENTE O CODIGO
Citação::
Cria uma variável do form pra controlar isso.
Quando vc quiser parar, seta ela.
Dim varParaTodaEssaPorra as Boolean
Private sub diabolic1()
VarParaTodaEssaPorra = false
[ô]... faz altas gambiarras do demonio aqui
maracutaia()
[ô]
If varParaTodaEssaPorra then Exit Sub
End sub
private sub maracutaia()
if 1 + 1 = 2 then
varParaTodaEssaPorra = true
endif
End sub
é o mesmo processo do [Ô]LREZANI[Ô]
após setar varParaTodaEssaPorra = true
ele retorna para a sub diabolic1()
não quero nem que retorne, mas acredito que não sej apossivel conforme citou o [Ô]LREZANI[Ô]
Citação:Não vejo outra alternativa, pois o VB sempre vai voltar para a função anterior a da chamada.
bom vc não testou o que eu postei mas novamente está a sugestão
teste ai
[ô]no general do form declare
Dim Continua As Boolean
Sub A()
If Continua = True Then
Chama_Sub_B [ô] ok
End If
End Sub
Sub B()
Continua = False
End Sub
teste ai
Vc pode chamar o End, mas no evento Unload do Form, vc seta a variael Cancel = 1. Veja se dá certo. No entanto é um gambiarra bonita hein.
Se vc explicar qual é o seu problema talvez a gente possa te dá a solução sem esse malabarismo.
Se vc explicar qual é o seu problema talvez a gente possa te dá a solução sem esse malabarismo.
Testei sim Marcelo, Obrigado pela dica , mas a SUB A Chama a SUB B após a SUB B ser Executada ela volta para a SUB A , eu não quero voltar a sub A
o que estou tentado entender como é que volta para sub A se ão existe nada que chame a sub A, teoricamente a Sub A deveria funcionar apenas uma vez
e da forma que eu fiz
Sub A()
If Continua = True Then [ô] Se continua for verdadeiro chama a sub b
chama a sub B
End if
End Sub
Sub b()
Continua = False [ô] Ou seja mesmo que a suba A seja chamada, ela não executará nada
End Sub
entendeu
e da forma que eu fiz
Sub A()
If Continua = True Then [ô] Se continua for verdadeiro chama a sub b
chama a sub B
End if
End Sub
Sub b()
Continua = False [ô] Ou seja mesmo que a suba A seja chamada, ela não executará nada
End Sub
entendeu
com foi a SUB A Que Chamou a SUB B depois que a B abaca ela volta automatica para a A Claro que ela não volta para executar o código inteiro
continua de onde chamou no exemplo que vc postou ela volta na A no end if e termina.
If Continua = True Then [ô] Se continua for verdadeiro chama a sub b
chama a sub B [ô] Aqui ela chamou a sub b, quando a sub B teminar ela volta para a Sub A no end if
[txt-color=#e80000]End if[/txt-color]
continua de onde chamou no exemplo que vc postou ela volta na A no end if e termina.
If Continua = True Then [ô] Se continua for verdadeiro chama a sub b
chama a sub B [ô] Aqui ela chamou a sub b, quando a sub B teminar ela volta para a Sub A no end if
[txt-color=#e80000]
Tá ficanddo louco o negócio...rs
agora eu consegui simular o seu problema, faz o seguinte pasta o código de suas subs, pra ver se existe uma alternativa
agora eu consegui simular o seu problema, faz o seguinte pasta o código de suas subs, pra ver se existe uma alternativa
eu consegui simular o problema desta forma
Dim Continua As Boolean
Private Sub Form_Load()
Continua = True
End Sub
Private Sub Command1_Click()
Call A
End Sub
Sub A()
MsgBox [Ô]vou chamar a sub B[Ô]
Call B
If Continua = False Then Exit Sub [ô]apos executar a sub b nada mais acontecerá
MsgBox [Ô]voltei para sub A[Ô]
End Sub
Sub B()
MsgBox [Ô]Eu sou a sub B e vou encerrar o processo aqui[Ô]
Continua = False
End Sub
Então tenta na gambiarra rs....
Sub A()
Call b
MsgBox [Ô]teste[Ô]
End Sub
Sub b()
SendKeys [Ô]{ESC}[Ô]
End Sub
Abraço
Sub A()
Call b
MsgBox [Ô]teste[Ô]
End Sub
Sub b()
SendKeys [Ô]{ESC}[Ô]
End Sub
Abraço
MITSUEDA - não deu ceto a Gambi...
Marcelo, no seu exemplo note que depois de executado a SUB B ele volta na sub A exatamente no if e depois disso não executa mais nada depois do IF
O que eu quero é que ele nem volte para a SUB A.
ò duvida cruel rssrsrsrsrs
Marcelo, no seu exemplo note que depois de executado a SUB B ele volta na sub A exatamente no if e depois disso não executa mais nada depois do IF
O que eu quero é que ele nem volte para a SUB A.
ò duvida cruel rssrsrsrsrs
Tópico encerrado , respostas não são mais permitidas