Дата VBA, сохраненная как время вместо ММ / ДД / ГГ

#excel #vba #date

#преуспеть #vba #Дата

Вопрос:

У меня есть пользовательская форма, которая при отправке выводит пользовательские записи в диапазон на указанном листе. Оттуда подпроцедура инкапсулирует эти различные входные данные в общедоступные переменные, которые будут использоваться позже.

Некоторые из пользовательских данных, вводимых пользователем в пользовательской форме, представляют собой даты, введенные в следующем формате; ММ / ДД / ГГ. Когда вспомогательная процедура, которая присваивает переменные из этих записей (например, DIM var как DATE), вместо сохранения записи даты, такой как 01/21/2020, просто как дата, она сохраняет ее как #12:00:00AM # при переходе по коду.

Как я могу сохранить эти введенные данные в качестве даты вместо возврата ко времени?

Пример кода:

 Dim job_start as Date

job_start = thisworkbook.worksheets("Variables").cells(1,1).value
 

Где эта рабочая тетрадь.рабочие листы («Переменные»).ячейки (1,1). значение выглядит следующим образом: 11/01/2020
в ячейке.

но если я напечатаю job_start в любую другую ячейку, она напечатает: 12:00:00 утра

Это происходит для всех переменных даты.

В любом случае, чтобы это исправить?

Комментарии:

1. он показывает это: 12:00:00 утра

2. CDate(это рабочая тетрадь. рабочие листы («Переменные»).ячейки (1,1).значение)

3. Это сработало. Отлично, спасибо.

4. Рад, что смог помочь!

Ответ №1:

Вы пробовали:

 Dim job_start as Date

job_start = CDate(thisworkbook.worksheets("Variables").cells(1,1).value)