Я использую Excel из Office 365

У меня есть столбец даты, который имеет три типа строк даты:

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)

Когда я пытаюсь отформатировать столбец, используя этот формат даты: MM/DD/YY, я получаю

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

Есть ли способ применить формат даты ТОЛЬКО к тем ячейкам, которые имеют формат «ММ / ДД / ГГГГ Ч: ММ» и оставляют другие строки "как есть"?

Это что-то требует макроса? Что-то другое?

1 ответ1

2

Если в столбце A есть константы (не формулы) , попробуйте этот короткий макрос:

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .