Olá a todos,
Por gentileza, estou com o seguinte problema e não consigo encontrar a solução.
Ao preencher com a data no UserForm, o Excel inverte o DIA, pelo MÊS, em qualquer data anterior ao dia 12.
Já mudei a formatação de data do Excel para Portugues, Ingles, e também não deu certo.
Segue os dois códigos que utilizo.
If Len(TxtProximoContato.Text) = 2 Then
TxtProximoContato = TxtProximoContato + "/"
End If
If Len(TxtProximoContato.Text) = 5 Then
TxtProximoContato = TxtProximoContato + "/"
End If
TxtProximoContato.MaxLength = 11 '10/10/2014
Select Case KeyAscii
Case 8 'Aceita o BACK SPACE
Case 13: SendKeys "{TAB}" 'Emula o TAB
Case 48 To 57
If TxtProximoContato.SelStart = 2 Then TxtProximoContato.SelText = "/"
If TxtProximoContato.SelStart = 5 Then TxtProximoContato.SelText = "/"
Case Else: KeyAscii = 0 'Ignora os outros caracteres
End Select
Tenho outro TextBox 'Date' que registra a data atual para cadastro, que as vezes também ocorre essa inversão.
Tentei de várias formas e não consegui resolver.
Por favor, se alguém souber resolver isso eu agradeço muito!
Vídeo recomendado
https://youtu.be/diWPPPhW-9E
https://youtu.be/diWPPPhW-9E
Excel Invertendo Data
-
- Acabou de chegar
- Mensagens: 2
- Registrado em: Seg Jul 16, 2018 6:17 pm
Re: Excel Invertendo Data
O VBA vai sempre interpretar as datas no formato MM/DD/YYYY, onde M = Mês, D = Dia e Y = ano.
Portanto, sempre que a data for atribuída ou vier de um objeto data, ela virá nesse formato ou estará esperando esse formato.
O que vai ajudar é a função DateValue. Mesmo que você passe uma data no formato DD/MM/YYYY, ela vai interpretá-la corretamente e sem erros.
Recapitulando:
- Se a data vier como string de algum lugar (textbox por exemplo), use DateValue para convertê-la para o formato correto
- Se forma apresentar uma data que venha de um objetio data, use a função Format.
Att
Portanto, sempre que a data for atribuída ou vier de um objeto data, ela virá nesse formato ou estará esperando esse formato.
O que vai ajudar é a função DateValue. Mesmo que você passe uma data no formato DD/MM/YYYY, ela vai interpretá-la corretamente e sem erros.
Recapitulando:
- Se a data vier como string de algum lugar (textbox por exemplo), use DateValue para convertê-la para o formato correto
- Se forma apresentar uma data que venha de um objetio data, use a função Format.
Att