Как можно получить название месяца и год из существующих данных - PullRequest
0 голосов
/ 09 апреля 2020

Это данные, которые у меня есть.

Мне просто нужны его название месяца и год.

Например 201804: Apr 2018

enter image description here

Ответы [ 3 ]

0 голосов
/ 09 апреля 2020

Попробуйте

Sub test()
    Dim vDB
    Dim i As Long
    Dim s As String, y As String, m As String

    vDB = Range("a1", Range("a" & Rows.Count).End(xlUp))

    For i = 2 To UBound(vDB, 1)
        s = vDB(i, 1)
        y = Left(s, 4)
        m = Right(s, 2)
        vDB(i, 1) = Format(DateSerial(y, m, 1), "mmm yyyy")
    Next i
    With Range("b1").Resize(UBound(vDB, 1), 1)
        .NumberFormatLocal = "@"
        .Value = vDB
    End With
End Sub
0 голосов
/ 09 апреля 2020

Вот формула рабочего листа, конвертирующая дату в А1. При необходимости скопируйте формулу вниз.

=DATE(LEFT(A1,4),RIGHT(A1,2),1)

Результатом является правильная дата, установленная для первого дня месяца, в данном случае 1 апреля 2018 г. Формат, в котором Результат отображается полностью зависит от настроек вашей системы. Однако вы можете перегрузить систему, установив пользовательский формат даты в меню «Формат»> «Ячейки»> «Числа»> «Пользовательские» *. Установите Введите как mmm yyyy для отображения Apr 2018 в ячейке.

0 голосов
/ 09 апреля 2020

Попробуйте это UDF

Sub Test()
    Debug.Print FormatDate("201804")
End Sub

Function FormatDate(sInput As String)
    sInput = "1/" & Right(sInput, 2) & "/" & Left(sInput, 4)
    FormatDate = Format(CDate(sInput), "mmm yyyy")
End Function
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...