#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)