• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

pedromgantunes

[Resolvido] Tempo de espera no excel

9 mensagens neste tópico

Boas.

Tenho um pequeno programa em excel, no entanto gostaria de saber se é possível criar uma macro onde quando o prog. está à espera de um valor ( inputbox ) e o mesmo não for indicado seja executada uma outra macro.

Agradeço desde já a quem me possa ajudar.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Olá,

Não sei se entendi muito bem, mas o objectivo é se o resultado de uma inputbox for alguma coisa, executar uma macro, caso não se indique nada, executa-se outra. É isto ?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não, não me expliquei bem.

A finalidade é, estar um certo tempo à espera que seja indicado um valor numa inputbox, caso tenha decorrido esse tempo deve correr uma macro, caso tenha sido indicado um valor deve executar outra.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não, a inputbox é modal, o que significa que não pode definir-se um tempo de espera. Quando ela (inputbox) está visivel todo o código para.

Porque não usar um userform ? Assim já dá.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Já agora podes explicar como devo proceder para poder utilizar um userform?

Obrigado

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

E qual é a forma de se iniciar a contagem de um tempo, e ao fim do qual se a userform não for preenchida sair dessa userform e passar para outra?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tinha de ver como querias ... mas fica aqui um pequeno exemplo que já tinha colocado:

De tiveres dúvidas diz!

Private exitUserForm As Boolean

Private Sub CommandButton1_Click()
    exitUserForm = True
End Sub

Private Sub UserForm_Activate()
    Dim TimerStart As Long, TimerFinish As Long, TotalTime As Long

    PauseTime = 10 ' 10 segundos
    TimerStart = Timer
    Do While Timer < TimerStart + PauseTime
    
    
        If exitUserForm Then
            Unload Me
            Exit Sub
        End If
        DoEvents
    Loop
    TimerFinish = Timer
    TotalTime = TimerFinish - TimerStart
    
    Stop
    MsgBox "Erro!"

End Sub

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Por falta de informação do utilizador e por existirem respostas aceitáveis à pergunta efectuada, esta questão foi marcada como resolvida.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora