Como converter uma data inserida como dd-mm-aa ou dd-mm-aaaa para a data do Excel

1

Eu tenho uma planilha com a coluna de data inserida como dd / mm / aaaa, por exemplo, 15/12/2014 No entanto, o excel não trata isso como uma data, portanto, não posso aplicar nenhuma função de data a esta coluna.

Existe uma maneira de converter isso para a data do Excel (mm / dd / aaaa) sem usar a maneira tediosa de subcadeia esquerda $, meio $). Obrigado antecipadamente ..

    
por Thunder 17.04.2014 / 12:24

2 respostas

1

O Excel analisará suas configurações regionais e verá como uma data deve ser formatada e, somente se isso corresponder, ela formatará automaticamente sua célula como uma data.

Portanto, se você tiver definido suas configurações regionais para usar uma data como dd-mm-aaaa (observe o -), uma saída onde / é usada será ignorada.

Além disso, pode ser que as células tenham um 'na frente da data. Este caractere basicamente instruirá a célula a ser sempre uma string. Isso é algo que o Excel poderia ter feito durante uma importação.

A primeira coisa que gostaria de fazer é alterar as configurações regionais para data americana, por isso, tente / e tente carregar a planilha novamente. Selecionar toda a coluna, escolhendo o clique com o botão direito do mouse em > Formatar células, e definindo-a como Data agora deve funcionar.

Depois de convertê-lo para uma data e salvar a planilha, você poderá alterar suas configurações regionais.

    
por 17.04.2014 / 12:43
0

Eu criei seguindo o código do VBA e o executei, mas ainda procurando uma saída mais fácil:

Function ConvertddmmyyDate(instring As String) As Date
    On Error GoTo err
    Dim dateArray() As String
    dateArray = Split(instring, "/")
    Dim dt As Date
    Dim day As Integer
    Dim month As Integer
    Dim year As Integer
    day = Int(dateArray(0))
    month = Int(dateArray(1))
    year = Int(dateArray(2))
    If year < 100 Then 'For yy formats
        year = year + 2000
    End If
    dt = DateSerial(year, month, day)
    ConvertddmmyyDate = dt
    Exit Function
    err:
    ConvertddmmyyDate = "01/01/1900"
 End Function
    
por 17.04.2014 / 13:50