Ir para conteúdo
Fórum Script Brasil
  • 0

Ajuda TextBox para introduzir Data


DjDaga

Pergunta

Boas,

estou com um problema com uma TextBox onde devo introduzir uma data.

Tenho duas subs para me validarem a data:

Private Sub DataEntradaTxt_Exit(ByVal Cancel As MSForms.ReturnBoolean)

If Not IsDate(DataEntradaTxt) And DataEntradaTxt <> "" Then 'valida Data

    MsgBox "Data Inválida"

    DataEntradaTxt = ""

    Cancel = True

End If

End Sub

Private Sub DataEntradaTxt_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)

DataEntradaTxt.MaxLength = 10 'Permite digitar no máximo 10 caracteres

Select Case KeyAscii

Case 8 'Aceita o BACK SPACE

Case 13: SendKeys "{TAB}" 'Emula o TAB

Case 48 To 57

If DataEntradaTxt.SelStart = 2 Then DataEntradaTxt.SelText = "-" 'insere barra ao digitar dia

If DataEntradaTxt.SelStart = 5 Then DataEntradaTxt.SelText = "-" 'insere barra ao digitar mes

Case Else: KeyAscii = 0 'Ignora os outros caracteres

End Select

End Sub

Mas quando introduzo a data de 06-07-2021 ele retoma-me a data de 07-06-2021 que não quero, já tentei formatar com format e "dd-mm-yyy" quando gravo a data na folha do excel, no entanto o problema continua.

O que posso fazer para resolver o problema?

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 1

O excel tem dessas coisas, tente inverter a formatação para o formato americano: 

 

DataEntradaTxt = VBA.Format(DataEntradaTxt, "mm/dd/yyyy")

Ao invés de validar a data, o ideal é um calendario para usuário selecionar a data evitando erros inesperáveis, segue exemplo: 

 https://drive.google.com/file/d/1tYAzuKe3xHVwUntJujHPTcwIeyV4kowU/view?usp=sharing

Link para o comentário
Compartilhar em outros sites

  • 1
Em 13/04/2022 em 12:00, DjDaga disse:

Usei uma combinação do calendário com a validação, adaptando-os para o meu caso específico.

Usar o calendário com a validação, é chover no molhado.

Em 13/04/2022 em 12:00, DjDaga disse:

Estou agora à volta de uma rotina para imprimir em que faço o print preview e dá-me a folha toda escura, assim que redimensiono a janela do print preview lá me aparece o que eu quero imprimir 🙂

Não entendi a sua dúvida (?)

Link para o comentário
Compartilhar em outros sites

  • 0

Mais uma vez obrigado.

Usei uma combinação do calendário com a validação, adaptando-os para o meu caso específico.

É estranho o format(DataEntradaTxt, "dd-mm-yyyy") directamente não dar.

Já me apercebi que o Excel tem assim uns bugs engraçados, acho eu de que...

Estou agora à volta de uma rotina para imprimir em que faço o print preview e dá-me a folha toda escura, assim que redimensiono a janela do print preview lá me aparece o que eu quero imprimir 🙂

Não entendo.

Editado por DjDaga
Link para o comentário
Compartilhar em outros sites

  • 0
On 4/16/2022 at 7:56 PM, Basole said:

Usar o calendário com a validação, é chover no molhado.

 

Já me apercebi, obrigado...

On 4/16/2022 at 7:56 PM, Basole said:

 

Não entendi a sua dúvida (?)

Desculpe, já consegui resolver o problema.

 

Obrigado.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,9k
×
×
  • Criar Novo...