Управление датой в коде Excel - PullRequest
1 голос
/ 26 января 2011

Столбец на листе Excel содержит месяц в следующем формате:

Oct_2010

Что я хочу сделать, так это получить последнюю дату этого месяца. Я решил, что я должен прочитать месяц в ячейке, получить первый день следующего месяца, а затем вычесть один день, чтобы получить последнюю дату предыдущего месяца.

Но как я могу заставить Excel (код VBA) читать октябрь 2010 как октябрь 2010?

Ответы [ 2 ]

1 голос
/ 26 января 2011

В VBA

Function LastDayFromString(sDate As String) As Date

    Dim dtTemp As Date

    If Not sDate Like "???[_]####" Then Err.Raise 9999, , "Invalid date string format"

    dtTemp = DateValue(Replace(sDate, "_", "/"))

    LastDayFromString = DateSerial(Year(dtTemp), Month(dtTemp) + 1, 0)

End Function

Используется как

?lastdayfromstring("Oct_2010")
10/31/2010 
1 голос
/ 26 января 2011

Как насчет:

 =DATE(YEAR(REPLACE(A1,4,1,"/")),MONTH(REPLACE(A1,4,1,"/")),0)

Где A1 = Oct_2010

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...