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

Excel VBA - Trocar Userform's Automático

Dúvidas gerais sobre Excel
Maximus_VBA
Colaborador
Colaborador
Mensagens: 21
Registrado em: Seg Abr 05, 2010 7:48 am

Excel VBA - Trocar Userform's Automático

Mensagem por Maximus_VBA »

Galera, bom dia!

Estou com problemas com a aplicação do metodo on time. Eu tenho 5 userform que ficam alternando entre si a cada valor de tempo determinado. É parecido com slide show.
Quando o inicio a planilha utilizo método:

Private Sub Workbook_Open()
userform1.Show
End Sub


depois após 5 segundos chamo a segunda userform.

Private Sub UserForm_Activate()
Application.OnTime Now + TimeValue("00:00:05"), "Call_userform2"
End Sub

E assim sucessivamente até chegar na quinta userform que por sua vez chama a primeira. Este processo chega a se repetir por mais de 1 hora e depois para funcionar. Alguém pode ajudar???


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: Excel VBA - Trocar Userform's Automático

Mensagem por webmaster »

Maximus,

Como está a macro que chama o userform1, sem ser pelo Workbook_Open?

Abraços


Maximus_VBA
Colaborador
Colaborador
Mensagens: 21
Registrado em: Seg Abr 05, 2010 7:48 am

Re: Excel VBA - Trocar Userform's Automático

Mensagem por Maximus_VBA »

Coloquei pela seguinte forma. Quando o userform 5 inicia fica assim:

Private Sub UserForm_Activate()
Application.OnTime Now + TimeValue("00:00:05"), "Call_Userform1"
End Sub


Dentro do modulo1:

Sub Call_Userform1()
Unload Userform1
Userform1.Hide
Userform2.Show
End Sub


Aew inicia o ciclo novamente.

Abraço


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

Re: Excel VBA - Trocar Userform's Automático

Mensagem por webmaster »

Maximux,

Pode enviar a planilha para dar uma olhada?

Abraços


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.


Maximus_VBA
Colaborador
Colaborador
Mensagens: 21
Registrado em: Seg Abr 05, 2010 7:48 am

Re: Excel VBA - Trocar Userform's Automático

Mensagem por Maximus_VBA »

Ok! Sem problemas!!!!

Qual é o e -mail?

Obrigado


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

Re: Excel VBA - Trocar Userform's Automático

Mensagem por webmaster »

Manda para o fórum mesmo. Tem a opção de anexar o arquivo logo abaixo do post da mensagem. Mas tem que ser em rar ou zip OK?

Abraços


Maximus_VBA
Colaborador
Colaborador
Mensagens: 21
Registrado em: Seg Abr 05, 2010 7:48 am

Re: Excel VBA - Trocar Userform's Automático

Mensagem por Maximus_VBA »

Segue aew!

Conto com a sua ajuda!!!
Editado pela última vez por Maximus_VBA em Ter Abr 13, 2010 2:33 pm, em um total de 1 vez.


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

Re: Excel VBA - Trocar Userform's Automático

Mensagem por webmaster »

Maximus,

Tem certeza de que é essa planilha? O gráfico até está bonito, mas não vi nenhum form.... :D

Abraços


Maximus_VBA
Colaborador
Colaborador
Mensagens: 21
Registrado em: Seg Abr 05, 2010 7:48 am

Re: Excel VBA - Trocar Userform's Automático

Mensagem por Maximus_VBA »

Ops!!! Enviei a planilha errada!!!
Segue a correta agora!!!
Anexos
Teste_Userform.rar
(22.4 KiB) Baixado 494 vezes


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

Re: Excel VBA - Trocar Userform's Automático

Mensagem por webmaster »

Maximus,

Envio o arquivo de volta com algumas modificações, entre elas:

Tirei o UserFormX.Hide do código do módulo. Como você chama o Unload, não é preciso esconder o form depois disso. Alías, isso pode até atrapalhar, já que teoricamente você está chamando o form novamente.
Troquei o evento de chamada do Application.OnTime do Activate para o Initialize. O Activate só ocorre quando o form é ativado, o que implica interação do usuário. O Initialize ocorre toda vez que o form é colocado na memória.
Adicionei no Initialize um Debug.Print para que o código coloque na janela de Verificação Imediata do VBA a hora em que o Form foi aberto. Assim, case ele continue parando, será fácil rastrear em qual form parou e quando.

Abraços
Anexos
Teste_Userform.zip
(16.77 KiB) Baixado 566 vezes


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