Compartilhar via

Excel salva a data ao contrário, como reverter isso?

Anônima
2017-12-13T21:33:19+00:00

Eu tenho um form onde preencho a data, só que salva na celula ao contrário, e eu ja editei na coluna da celula para salvar "personalizado", só que a **** volta para o modo "data" e salva ao contrário.

Se eu coloco no form a data 13/12/2017, a **** salva 12/13/2017. 

Private Sub reception_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)

KeyAscii = Asc(UCase(Chr(KeyAscii)))

'Formata : dd/mm/aaaa

    If Len(reception) = 2 Or Len(reception) = 5 Then

        reception.Text = reception.Text & "/"

        SendKeys "{End}", True

    End If

    'Limita a Qde de caracteres

   reception.MaxLength = 10

    'para permitir que apenas números sejam digitados

    If KeyAscii < Asc("0") Or KeyAscii > Asc("9") Then

        KeyAscii = 0

    End If

    End Sub

Microsoft 365 e Office | Excel | Para uso doméstico | Windows

Pergunta bloqueada. Essa pergunta foi migrada da Comunidade de Suporte da Microsoft. É possível votar se é útil, mas não é possível adicionar comentários ou respostas ou seguir a pergunta.

0 comentários Sem comentários

Resposta aceita pelo autor da pergunta

Anônima
2017-12-14T18:29:04+00:00

Troque:

.Cells(SaveRow, 4).Value2 = reception.Value

por:

.Cells(SaveRow, 4).Value2 = clng(cdate(reception.Value))

mas não esqueça de testar se reception é uma data válida, logo no início da rotina de salvar:

if not isdate(reception) then

    msgbox "insira uma data válida!"

    exit sub

end if

Esta resposta foi útil?

0 comentários Sem comentários

3 respostas adicionais

Classificar por: Mais útil
  1. Anônima
    2017-12-14T20:12:56+00:00

    VALEU PATRÃO, DEU CERTO

    Esta resposta foi útil?

    0 comentários Sem comentários
  2. Anônima
    2017-12-14T16:36:02+00:00

    Nessa rotina não consta o código que salva o valor da caixa de texto para a planilha. Poderia postar aqui?

    reception é a textbox onde coloco a data

    Dim SaveRow As Long

    Dim ws As Worksheet

    Set ws = ThisWorkbook.Sheets("Plan1")

    With ws

    If excluedbox.Text <> "" Then

    On Error GoTo ERRO

    SaveRow = WorksheetFunction.Match(excluedbox.Text, .Columns("A"), 0)

    On Error GoTo 0

    End If

    If SaveRow = 0 Then

    SaveRow = .Cells(.Rows.Count, 1).End(xlUp).Row + 1

    .Cells(SaveRow, 1).Value2 = nomereflex.Value

    End If

    .Cells(SaveRow, 2).Value2 = cepefi.Value

    .Cells(SaveRow, 3).Value2 = relation.Value

    .Cells(SaveRow, 4).Value2 = reception.Value

    .Cells(SaveRow, 5).Value2 = departament.Value

    End With

    Exit Sub

    ERRO:

    If Err.Number = 1004 Then

    SaveRow = 0

    Resume Next

    Else

    MsgBox Err.Number & " " & Err.Description

    End If

    End Sub

    Esta resposta foi útil?

    0 comentários Sem comentários
  3. Anônima
    2017-12-14T15:21:44+00:00

    Nessa rotina não consta o código que salva o valor da caixa de texto para a planilha. Poderia postar aqui?

    Esta resposta foi útil?

    0 comentários Sem comentários