Notifications
Clear all

Parar macro a partir de outra macro

5 Posts
2 Usuários
0 Reactions
966 Visualizações
(@edcronos)
Posts: 1006
Noble Member
Topic starter
 

Tem como parar a execução de um macro de dentro de outra que foi chamada por ela?

macro A chama macro B
macro B dá exit sub em macro A

para entender minha situação,
a macro que estou trabalhando chama varias outras macros no processo.
e dependem do que se digita,
se colocar um setor que não existe, não gera erro mas retorna valores errôneos.

até.

tem uma outra coisa que eu não sei se abro um topico ou não, "não é necessário responder"

minha macro está com um comportamento meio estranho,
Ela está funcionando, mas só na segunda vez que é executada,
então cada vez tenho que executar 2 vezes para apresentar valores corretos.

como ela trabalha na planilha dependendo dos valores encontrados
e esses valores dependem de como está a planilha
pensei que era questão de recalcular as formulas,

mas mesmo
não colocando
Application.Calculation = xlCalculationManual

e inserindo
Application.Calculate
em varios pontos chaves da planilha

mesmo demorando uma eternidade para executar , acaba dando o mesmo resultado.
mas isso ainda vou ter que abrir um topico com mais detalhes

Somente é impossíveis até que alguém faça
A logica está presa na irracionalidade humana, e morta nos que se consideram donos da verdade.

"ALGUM MODERADOR ME EXPULSE DO FÓRUM POR FAVOR"

 
Postado : 02/04/2014 12:07 pm
(@gtsalikis)
Posts: 2373
Noble Member
 

não se se entendi, mas... que tal:

Global pontodefuga as integer

sub macro A ()
'código
call macro B
if pontodefuga = 1 then goto SAIR
'código
SAIR:
end sub

sub macro B ()
'código
'condição para parar a macro A
If "deve parar a macro A = true then
pontodefuga = 1
Else
pontodefuga = 0
end if
'código
end sub

Lembre-se de AGRADECER aos que te ajudaram, e de marcar o tópico como [Resolvido]
Gente que cuida de gente.

Gilmar

 
Postado : 02/04/2014 12:14 pm
(@edcronos)
Posts: 1006
Noble Member
Topic starter
 

já tinha pensado nisso até já tenho uma variável com esse propósito, e já está embutido no codigo dessa macro B

mas como essa macro é chamada varias vezes e tbm é usada por todas as outras macros

pensei que teria uma maneira mais direta para não ter que adicionar em todas as macros a verificação.
mas se nã tem jeito né

Somente é impossíveis até que alguém faça
A logica está presa na irracionalidade humana, e morta nos que se consideram donos da verdade.

"ALGUM MODERADOR ME EXPULSE DO FÓRUM POR FAVOR"

 
Postado : 02/04/2014 12:47 pm
(@gtsalikis)
Posts: 2373
Noble Member
 

Talvez existam outras formas, vamos aguardar e ver o que o pessoal tem a dizer.

Lembre-se de AGRADECER aos que te ajudaram, e de marcar o tópico como [Resolvido]
Gente que cuida de gente.

Gilmar

 
Postado : 02/04/2014 12:56 pm
(@edcronos)
Posts: 1006
Noble Member
Topic starter
 

no aguardo,
nessa macro já embuti pq ainda estou fazendo os ajustes nela
e ainda tenho que adicionar outras coisas como um combobox com os nomes das plan
e vou adicionar um topico pq não sei como fazer, nem sabia que existia isso.
até

Somente é impossíveis até que alguém faça
A logica está presa na irracionalidade humana, e morta nos que se consideram donos da verdade.

"ALGUM MODERADOR ME EXPULSE DO FÓRUM POR FAVOR"

 
Postado : 02/04/2014 1:03 pm