Olá!
Preciso muito da ajuda de vocês. Não sei mais a quem recorrer.
Não encontrei em lugar nenhum uma macro que resolvesse meu problema.
Pesquisei aqui e vi que o alexandrevba sugeriu uma solução, porém não consegui entender nada. =/
Na verdade, estou apenas esperançoso de que alguém tenha conseguido. Mas a esperança não é muito grande não.
Vamos a problema, que é meio obvio pelo título.
Eu tenho uma macro que avisa, através de msgbox que ela vai iniciar, e ao final, dizendo que terminou o processo.
msgbox "Aguarda alguns instantes para finalização da operação."
msgbox "Operação realizada com sucesso."
Isso para 30 situações diferentes.
Ok.
Agora eu tenho uma outra macro que para me dar o resultado que quero, tem que rodar as 30 macros.
E fica inviável eu ter que dar um clique de Ok no início e no fim a cada macro que está sendo rodada automaticamente.
Por isso pesquisei incansavelmente sobre isso e não encontrei.
Tentei a application.displayalerts = false
Application.enableEvents=False
mas não servem. Não resolvem.
Isso foi o mais próximo que cheguei.
Alguém encontrou uma solução para essa situação?
Obrigado desde já!
Não entendi, não quer as msgbox? Por que não tira-las então?
Reinaldo
então.. eu fiz isso... mas fica faltando aquele aviso que iniciou e terminou.
É que quando eu inicio a macro a tela fica travada, e o que altera na tela depois da macro ficar pronta fica abaixo da onde se pode ver quando se clica. Então dá a impressão de que não aconteceu nada.
Acabei fazendo um ícone explicativo. Mas foi gambiarra.
Eu queria algo mais certo.
então.. eu fiz isso... mas fica faltando aquele aviso que iniciou e terminou.
É que quando eu inicio a macro a tela fica travada, e o que altera na tela depois da macro ficar pronta fica abaixo da onde se pode ver quando se clica. Então dá a impressão de que não aconteceu nada.
Acabei fazendo um ícone explicativo. Mas foi gambiarra.
Eu queria algo mais certo.
Julio, vamos por parte:
Primeiro, você poderia ter indicado a qual postagem que se refere que não entendeu:
Pesquisei aqui e vi que o alexandrevba sugeriu uma solução, porém não consegui entender nada. =/
Segundo, deveria ter postado qual a rotina que está utilizando, ficaria mais fácil analisar e chegar a uma solução, porque só com esta obs fica um pouco dificil, o máximo que poderíamos fazer é por suposição:
Agora eu tenho uma outra macro que para me dar o resultado que quero, tem que rodar as 30 macros.
Então suponho que em cada uma das 30 rotinas executada s você tem 02 msgbox (Inicio e Termino) em cada uma e obviamente serão acionadas ao termino de cada, se for isto, na primeira rotina que irá chamar as outras 30 você terá de colocar uma msgbox no inicio, depois a chamada para as 30 utilizando um Loop, tipo contador:
Dim MyMacro Dim i MsgBox "Aguarda alguns instantes para finalização da operação." For i = 1 To 30 MyMacro = "MyMacro" & i MsgBox MyMacro Next i MsgBox "Operação realizada com sucesso."
Neste caso todas as macros devem ter o mesmo inicio de nome, mudando somente o numero final de cada uma, ou seja, utilizando como exemplo as instruções acima, suas macros se chamariam :
MyMacro1, MyMacro2, MyMacro3, MyMacro4, MyMacro5 ..........MyMacro30.
Desta forma o msgbox (Inicio) apareceria ao iniciar a rotina e a msgbox (Termino) ao finalizar a última rotina.
Exite tambem a possibilidade de implementar a msgbox para fechar automaticamente apos alguns segundos sem ter de clicar no Botão para fechar, se interessar, de uma olhada no Link abaixo:
Fechar MsgBoxs Automaticamente
http://www.tomasvasquez.com.br/forum/vi ... FqUQjTF_QQ
[]s
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Oi. Desculpe minha lentidão em responder.
Então.. estou tentando encontrar uma forma de aplicar tua ideia. Eu vou fazer uma adaptação e vou mandar o arquivo como tá ficando.
Talvez a gente consiga melhorar.
Valeu!!!!