Функция datevalue для сохранения настроек не дает правильный формат? - PullRequest
0 голосов
/ 01 апреля 2020

Я пытаюсь преобразовать строковое значение Savesetting в значение даты, разделенное \. Когда я конвертирую его с помощью функции datevalue, он дает мне 12:00:00AM вместо сохраненной введенной даты 03.30.20, которая добавлена ​​в предыдущем модуле.

Вот мой код:

Option Explicit
Dim strfiledate As String
Sub edits_formatting()
    Dim wbk As Workbook: Set wbk = ThisWorkbook
    Dim wsInputs As Worksheet: Set wsInputs = wbk.Sheets("Inputs")
    strfiledate = GetSetting("'HR_METRICS_TEMPLATE_v3.xlsm'", "Update_New_Data", "FileDate")
    Application.Calculation = xlCalculationAutomatic
    Dim filedate As Date
    filedate = DateValue(GetSetting("'HR_METRICS_TEMPLATE_v3.xlsm'", "Update_New_Data", "FileDate"))
    wsInputs.Range("B1").Value = filedate
    wsInputs.Range("B1") = Format(filedate, "m/d/yyyy")

Есть ли что-то, что я пропускаю?

1 Ответ

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

Как вы уже видели, DateValue("03.03.20") возвращает 12:00:00 AM.

Replace периоды . с косой чертой / перед вызовом DateValue:

Dim temp
temp = GetSetting("'HR_METRICS_TEMPLATE_v3.xlsm'", "Update_New_Data", "FileDate")
temp = Replace(temp, ".", "/")
filedate = DateValue(temp)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...