none
Ajuda com Validação de Data (VBA) RRS feed

  • Pergunta

  • Olá! Preciso de uma ajudinha...

    Criei um formulário de requisição em VBA 

    Nele há um campo chamado "Data da requisição" 

    Quero que o usuário seja obrigado a digitar a data de hoje. 

    Caso digite uma data anterior ou futura, deveria aparecer a mensagem "Por gentileza, insira a data atual" 

    A data também deve aparecer formatada dd/mm/yyyy sem que a pessoa precise apertar "/". 

    Alguém consegue me ajudar?

    sexta-feira, 19 de junho de 2015 02:56

Respostas

  • Olá!

    Na minha opinião, não faz sentido deixar este campo aberto para o usuário digitar, já que ele só vai ter uma alternativa correta para digitar. Por que você não alimenta este campo automaticamente com a data atual quando o formulário for carregado e deixe travado o campo? Por exemplo:

    Private Sub UserForm_Initialize()
    
    With TextBox1
    .Locked = True
    .Value = Date
    End With
    
    End Sub



    Rafael Kamimura

    sexta-feira, 19 de junho de 2015 11:45

Todas as Respostas

  • Olá!

    Na minha opinião, não faz sentido deixar este campo aberto para o usuário digitar, já que ele só vai ter uma alternativa correta para digitar. Por que você não alimenta este campo automaticamente com a data atual quando o formulário for carregado e deixe travado o campo? Por exemplo:

    Private Sub UserForm_Initialize()
    
    With TextBox1
    .Locked = True
    .Value = Date
    End With
    
    End Sub



    Rafael Kamimura

    sexta-feira, 19 de junho de 2015 11:45
  • Oi Rafael! 

    Realmente deu certo! 

    :D

    Não estava conseguindo deixar automático. 

    Porém fiquei com um novo problema. 

    Os dados ficam se sobrepondo. Toda vez que digito um novo dado no formulário e clico no botão enviar, ele substitui os dados na tabela. 

    Sabe como faço para sempre que clicar em enviar, ele procure a ultima linha em branco para preencher as respostas do formulário?

    Obrigada

    quinta-feira, 25 de junho de 2015 01:27
  • Olá G_G_D!

    O ideal seria você encerrar este tópico marcando a postagem que te foi útil como resposta e então criar um novo tópico, pois se trata de uma dúvida diferente. Isso ajuda a organização do fórum e a pesquisa de outros usuários que eventualmente estejam com problemas semelhantes.

    Sobre essa sua dúvida, existem vários métodos para buscar a última linha vazia. Um exemplo que você pode aplicar no seu código é:

    cells(rows.Count,"A").end(xlUp).offset(1,0).select
    Abraços!


    Rafael Kamimura

    quinta-feira, 25 de junho de 2015 12:01
  • Obrigada pela ajuda Rafael. 

    Deu certo... 

    E desculpa pelo tópico diferente. Sou nova aqui e não sabia que teria que encerrar a postagem. 

    De qualquer forma, obrigada!

    :)

    quinta-feira, 2 de julho de 2015 23:27