Vídeo recomendado
https://youtu.be/diWPPPhW-9E

[RESOLVIDO] Como abrir um novo "Sub" e fechar o antigo

Dúvidas gerais sobre Excel
Claudia souza
Acabou de chegar
Acabou de chegar
Mensagens: 8
Registrado em: Qui Mar 26, 2020 4:57 pm

[RESOLVIDO] Como abrir um novo "Sub" e fechar o antigo

Mensagem por Claudia souza »

Eu estou usando "exit sub" pra fechar e "Call" pra abrir o Sub.
O problema é o seguinte, se eu usar o "Exit sub" antes do "call" o sub é fechado e mais nada acontece, mas se eu faço o oposto com o "call" antes do "Exit sub" ele abre os outros suba mas não fecha os antigos

Algo assim
Sub1()
'Codigos
Call sub2
Exit sub
End sub


Sub2()
'Codigos
Call sub3
Exit sub
End sub

Nesse exemplo todos os sub são abertos ao mesmo tempo e se for com o "exit" antes do "call", o primeiro sub fecha e os outros não abrem.

É possível abrir um sub e ao mesmo tempo fechar o antigo?
Se sim. isso pode ser feito eu um único sub? por exemplo

Exit sub1
Cali sub1
Editado pela última vez por Claudia souza em Seg Abr 06, 2020 1:57 pm, em um total de 1 vez.


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Avatar do usuário
webmaster
Administrador
Mensagens: 3114
Registrado em: Sex Jul 24, 2009 2:44 pm
Contato:

Re: Como abrir um novo "Sub" e fechar o antigo

Mensagem por webmaster »

Claudia,

Acho que temos um problema de entendimento aqui.

O Call faz uma chamada a uma outra função (Sub ou Function) e quando isso é feito, o contexto de execução muda para esta até que termine ou seja interrompida por um Exit Sub.

Veja se o diagrama abaixo ajuda no entendimento:
VBA Sequence Diagram.png
VBA Sequence Diagram.png (33.4 KiB) Exibido 5274 vezes


Claudia souza
Acabou de chegar
Acabou de chegar
Mensagens: 8
Registrado em: Qui Mar 26, 2020 4:57 pm

Re: Como abrir um novo "Sub" e fechar o antigo

Mensagem por Claudia souza »

Entendi.
Resolvi criando outro Sub que eu vou usar pra chamar o Sub anterior assim:

Sub Macro1()
MsgBox "Hello world!"
End Sub

Sub Macro2()
Call Macro1
End Sub


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder