• 0
Sign in to follow this  
Julian Rocha

Excel invertendo DATA

Question

Olá a todos,

Por gentileza, estou com um problema e gostaria de pedir a ajuda de voces.

Estou com o seguinte problema em um formulário do VBA

Ao preencher com a data, 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.




Desde já agradeço pela atenção!

Share this post


Link to post
Share on other sites

9 answers to this question

Recommended Posts

  • 0

Use o:

DateValue(Variavel)

ele ira resolver seus problemas de data invertida.

Exemplo:

Dim DataAtual as String
DataAtual = "10/08/2018"
ActiveCell.Value = DateValue(DataAtual)

 

Share this post


Link to post
Share on other sites
  • 0
2 horas atrás, Erik Wesley disse:

Use o:

DateValue(Variavel)

ele ira resolver seus problemas de data invertida.

Exemplo:

Dim DataAtual as String
DataAtual = "10/08/2018"
ActiveCell.Value = DateValue(DataAtual)

 

Já tentei este código e não resolveu

Eu insiro ele no Botão Salvar ou na TextBox?

Eu tentei nos dois, e a data continua invertendo 😕

Share this post


Link to post
Share on other sites
  • 0
1 hora atrás, Julian Rocha disse:

Já tentei este código e não resolveu

Eu insiro ele no Botão Salvar ou na TextBox?

Eu tentei nos dois, e a data continua invertendo 😕

Manda a parte do seu código que retira a data do local e cola no destino.

Share this post


Link to post
Share on other sites
  • 0
26 minutos atrás, Erik Wesley disse:

Manda a parte do seu código que retira a data do local e cola no destino.

Código da TextBox

 

Private Sub TxtProximoContato_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)

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

End Sub

 

No botão salvar eu digitei um Call para chamar o comando no módulo.

 

Sub cad_membros3()
    Dim ws As Worksheet
        Set ws = ThisWorkbook.Worksheets("PROSPECTS")
            With ws
             linha = 2
                Do Until Sheets("PROSPECTS").Cells(linha, 1) = ""
                   linha = linha + 1
                Loop
 
                    Sheets("PROSPECTS").Cells(linha, "Y") = Frm_Prosp.TxtProximoContato.Value
                    Sheets("PROSPECTS").Cells(linha, "Z") = Frm_Prosp.TxtObs.Text
                    Sheets("PROSPECTS").Cells(linha, "AA") = Frm_Prosp.TxtVendedor.Text
                    Sheets("PROSPECTS").Cells(linha, "AB") = Frm_Prosp.TxtDataAut.Text
                    Sheets("PROSPECTS").Cells(linha, "AC") = Frm_Prosp.TxtHoraAut.Text
                
                
                    
                    MsgBox "Membro cadastrado com sucesso!", vbInformation, "SUCESSO"
                    
                    Call gera_codigo_produto3
                    Call limpacampos3
                    Call Atualizar_Registros3

 End With

End Sub

Share this post


Link to post
Share on other sites
  • 0
Em 11/08/2018 at 19:35, Alyson Ronnan Martins disse:

Boa noite Julian Rocha.

Passei por esse problema agora pouco também.
tente invertar a formatação:

Dim nData 
nData = format(now(), "MM/DD/YYYY")

 

Continua invertendo.

A diferença é que no meu caso, o usuário irá digitar a data.

e não puxar a data do dia de hoje.

Segue como ficou o meu código:

 

Dim TxtProximoContato
 
TxtProximoContato = Format(TxtProximoContato, "MM/DD/YYYY")

 

Share this post


Link to post
Share on other sites
  • 0
Em 11/08/2018 at 19:35, Alyson Ronnan Martins disse:

Boa noite Julian Rocha.

Passei por esse problema agora pouco também.
tente invertar a formatação:

Dim nData 
nData = format(now(), "MM/DD/YYYY")

 

Consegui resolver o problema,

Basicamente, utilizei este código que você tinha postado,

Porém tive de adaptar ao meu código.

De qualquer forma, obrigado!

Este tópico pode ser fechado.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this