Как изменить формат даты, если я не могу его изменить? - PullRequest
0 голосов
/ 05 июня 2019

enter image description here Привет,

Вот изображение моей колонки I. У меня есть несколько дат в длинном формате (пример: среда, 12 июня 2019 г.) и другие в коротком формате (13/02/2017).

Я хочу, чтобы все даты были отформатированы как желтые ячейки (в длинном формате), но я не могу изменить формат. Когда я пытаюсь изменить формат, ничего не происходит.

PS: Если это помогло, мне пришлось проделать некоторую предыдущую работу с этим листом, в котором я перешел в Данные -> текст в столбец -> и выбрал дату и формат дд / мм / гг для этого шага. Но, похоже, что после этого шага я не смог вернуться к любому другому формату.

Пожалуйста, дайте мне знать, если у вас есть идеи по устранению этой проблемы.

Спасибо :)

Ответы [ 2 ]

1 голос
/ 05 июня 2019

Выберите ячейки, которые противостоят изменению формата, и запустите этот короткий макрос VBA:

Sub DateFixer()
    Dim cell As Range
    Dim v As String, d As Date

    For Each cell In Selection
        v = cell.Text
        If InStr(1, v, "/") <> 0 Then
            arr = Split(v, "/")
            d = DateSerial(arr(2), arr(1), arr(0))
            cell.Clear
            cell.Value = d
            cell.NumberFormat = "dddd,mmmm,dd,yyyy"
        End If
    Next cell
End Sub

До:

enter image description here

ипосле:

enter image description here

0 голосов
/ 05 июня 2019

Другой вариант ответа @ Gary'sStudent - использовать CDate. Как заявляет Гэри, выбирайте только ячейки, которые противостоят формату даты. Если вы выберете ячейки, отформатированные правильно, вы получите ошибку.

Dim cel As Range
    For Each cel In Selection
        cel.Value = CDate(cel.Value)
        cel.NumberFormat = "dddd,mmmm/dd/yyyy"
    Next cel
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...