Excel: use o formato de data apenas em strings de data que correspondam a um padrão

0

Estou usando o Excel no Office 365

Eu tenho uma coluna de data que possui três tipos de strings de data:

string # 1: 12/9/2016 0:00  # this string has month, day, year, hours, minutes
string # 2: 201605 # this string has only year (2016) and month (05)
string # 3: 2016 # only has year (2016)

Quando tento formatar a coluna usando este formato de data: MM / DD / AA, obtenho

string # 1: 12/09/16 # correct
string # 2: 12/21/51 # clearly incorrect
string # 3: 07/08/05 # also incorrect

Existe alguma maneira de aplicar o formato de data SOMENTE às células que têm um formato de "MM / DD / AAAA H: MM" e DEIXAR outras strings "como estão"?

Isso é algo que requer uma macro? Algo mais?

    
por user36476 25.03.2018 / 18:06

1 resposta

2

Se você tiver constantes (não fórmulas) na coluna A , tente esta macro curta:

Sub INeedADate()
    Dim Kolumn As Long, rng As Range, r As Range
    Dim u As Long
    Kolumn = 1
    Set rng = Columns(Kolumn).Cells.SpecialCells(2)
    For Each r In rng
        u = UBound(Split(r.Text, "/"))
        If u = 2 Then
            r.NumberFormat = "mm/dd/yy"
        End If
    Next r
End Sub
    
por 25.03.2018 / 22:21