У меня есть даты, хранящиеся в строках, иногда в форме «ноябрь-2018», а иногда в форме «01.11.2008».Я хочу изменить их повсеместно на «ноябрь 2018».Только месяц и дата.
Я написал следующую функцию.
Function FnDateExtract(fnFile, fnTab, fnRow, fnColumn)
Dim RawExtract As String
With Workbooks(fnFile).Worksheets(fnTab)
RawExtract = .Cells(fnRow, fnColumn).Text
FnDateExtract = Format(RawExtract, "mmm yyyy")
End With
End Function
Я продолжаю сталкиваться с этой проблемой, когда функция будет читать строки '11 / 1/2018 'и' Nov-2018и вернуть результат «Ноябрь 2019».Я понятия не имею, почему 2019 год (но проблема появилась только с 1 января 2019 года. Как странно.)
Вопрос: Как временное решение, есть ли способ вернуть годминус 1?Что-то похожее на FnDateExtract = Format (RawExtract, "mmm yyyy - 1 ")?
Если бы вы могли помочь мне решить проблему, почему функция всегда неправильно читает строки ровно на 1 год, это 'Я также очень помог бы.Спасибо!
Редактировать RonRosenfeld ниже предположил, что функция будет извлекать только текущий год.Я сделал несколько тестов, и кажется, что он также извлечет 2017 год как 2019. Не уверен, почему это так.Все еще ищу решение.