- Este tópico contém 5 respostas, 2 utilizadores e foi actualizado pela última vez há 11 anos, 9 meses por Anónimo.
-
AutorArtigos
-
-
31 de Julho de 2012 às 14:04 #1117AnónimoInactivo
bom dia galerinha!
achei várias formas de aparecer um userform de progresso na tela, entretanto, todos executam dentro de um tempo determinado ou dentro de uma execução de contagem de numeros, eu gostaria que para todas as macros, aparecesse tipo um userform pedindo para aguardar execução e finalizasse ao termino da mesma.
conseguiram entender o que eu gostaria?
preciso de uma programação que chama um userform com alguma mensagem ex.: “aguardando” no começo da execução de uma macro e feche no final da execução da mesma macro.
att.
wagner goularte -
31 de Julho de 2012 às 15:09 #1895jorgerodAdministrador
olá wagner,
há algumas possibilidades, uma delas, poderás ver em:
no entanto, acho que o melhor para este tipo de situações, é a informação no denominado statusbar:
no início da tua macro:
application.screenupdating = false
application.statusbar = “aguardando…”
no fim da tua macro:
application.screenupdating = true
-
31 de Julho de 2012 às 16:50 #1896AnónimoInactivo
olá jorge!
pois éh, no exemplo do link, foi o que eu comentei, o “indicador de progresso” só indica a porcentagem da macro relacionada aos numeros sendo criados na planilha e não indica o tempo real que está executando uma outra macro qualquer. entendeu?
já do application.statusbar = “aguardando…”, não posso utilizar pois a planilhas está trabalhando em tela cheia (application.displayfullscreen = true).
não preciso necessariamente mostrar a porcentagem, lógico que se tiver como, melhor. mas eu quero que o userform indicando uma mensagem de “aguarde…” fique mostrando enquanto uma outra macro está sendo executada e ao termino, feche automáticamente.
entendeu??
att.
wagner goularte -
31 de Julho de 2012 às 17:40 #1897jorgerodAdministrador
-
31 de Julho de 2012 às 18:53 #1898AnónimoInactivo
obrigado jorge!!
esse sim ajudou… bem manual, mas era isso que eu estava precisando.
grato!!
att.
wagner goularte -
2 de Agosto de 2012 às 14:03 #1118AnónimoInactivo
bom dia galerinha!
caso queiram saber como ficou minha programação, segue:
sub msgbox_temporario()
‘seleciona a primeira worksheet.
worksheets(1).select‘cria um textbox ou button na worksheet selecionada. nesse caso, utilizei button.
‘formata posição e tamanho(posx, posy, tamx, tamy)
‘activesheet.textboxes.add(100, 100, 200, 50).select
activesheet.buttons.add(100, 100, 200, 50).select‘store o nome da worksheet em variavel storewsnm.
storewsnm = activesheet.name‘store o nome do textbox ou button em variavel storenm.
storenm = selection.name‘formata as propriedades do textbox ou button. nesse caso, só demonstrei button.
selection.characters.text = “aguarde… processando…”
with selection.characters(start:=1, length:=25).font
.name = “calibri”
.fontstyle = “regular”
.size = 11
.strikethrough = false
.superscript = false
.subscript = false
.outlinefont = false
.shadow = false
.underline = xlunderlinestylenone
.colorindex = 1
end with‘chamar a macro desejada. a menssagem de espera já está amostra.
macro_01‘certifica que a worksheet correta está selecionada.
worksheets(storewsnm).select‘certifica que o textbox ou button correto está selecionado. nesse caso, utilizei button.
‘activesheet.textboxes(storenm).select
activesheet.buttons(storenm).select‘deleta o textbox ou button.
selection.deleteend sub
sub macro_01()
‘descrever macro.
range(“a1”).select‘tempo de espera após executar macro. opcional.
application.wait now + timevalue(“00:00:02”)end sub
qualquer dúvida, favor questionar.
att.
wagner goularte
-
-
AutorArtigos
- Tem de iniciar sessão para responder a este tópico.