Notifications
Clear all

Executar comando pelo botão Planilha

7 Posts
3 Usuários
0 Reactions
1,195 Visualizações
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Boa tarde colegas.
No anexo abaixo tenho um userform com uma barra progresso.
A barra progresso funciona clicando no botão do userform.
Gostaria que ao clicar com botão da planilha carregar o userform com a barra progresso funcionando, sem a necessidade do botão do form.

Atenciosamente.

 
Postado : 11/09/2017 10:36 am
(@wagner-morel-vidal-nobre)
Posts: 4063
Famed Member
 

Dunguinha,

Boa tarde!

Basta você pegar o código que está no evento click do botão do fórum e inserir no evento inicialize do form.

No botão da planilha você associa um código que carregue o formulário. Desse modo, quando o formulário inicializar, vai disparar o código que faz a barra de progresso funcionar.

 
Postado : 11/09/2017 2:05 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Bom dia Wagner.
Fiz exatamente isso. Mas o form só abre depois que a barra progresso executa rotina.
Dá uma olhada.

 
Postado : 12/09/2017 4:58 am
(@wagner-morel-vidal-nobre)
Posts: 4063
Famed Member
 

Dunguinha,

Bom dia!

Você está utilizando funções de API do Windows. Sinceramente, não sei como utilizar ou como funcionam essas API's. Desse modo, não tenho como lhe ajudra. Imaginei que você estava utilizando os comandos normais para preencher a barra de progresso do próprio VBA e que, aliás, o código VBA para essa barra de progresso funcionar já estivesse pronto e funcionando (pois também nunca trabalhei com barras de progresso). Mas... com barra de progresso funcionando a partir de função API do Windows não é do meu conhecimento.

 
Postado : 12/09/2017 6:49 am
(@joebsb)
Posts: 0
New Member
 

Apague o código do inicialize do form.

Cole o código alterado abaixo na função Activate do form

Favor colocar o tópico como concluído e se puder manda um thanks aew

'Macro alterada por Joe em 14/09/2017
'Contato para freelancer: (61) 99136-3695
Dim intIndex As Integer
   Dim sngPercent As Single
   Dim intMax As Integer
    
   intMax = 50
   
   For intIndex = 1 To intMax
       sngPercent = intIndex / intMax
       ProgressStyle5 sngPercent
       ProgressStyle6 sngPercent
       
   DoEvents
        
        Sleep 50
        Me.Repaint
    Next
 
Postado : 12/09/2017 12:43 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Bom dia colegas.
Era isso mesmo que eu precisava, ficou show bola.
Muito obrigado.

Abraços

 
Postado : 13/09/2017 6:49 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Boa tarde Dunguinha

Acesse o link abaixo para aprender a usar a ferramenta para agradecer aos colaboradores e também como usar corretamente a ferramenta que marca o tópico como Resolvido, pois você deve marcar na resposta que melhor atendeu, não na tua resposta.

viewtopic.php?f=7&t=16757

[]s
Patropi - Moderador

 
Postado : 13/09/2017 12:56 pm