У меня есть пользовательская форма VBA, которая, когда я нажимаю сохранить после ввода данных, она записывает в электронную таблицу и устанавливает мое время и дату на Now (), которая записывается в электронную таблицу, где я разделяю значение now () на время и дату , когда я перечитываю его, я получаю дату, но мое время в десятичном формате. Я хотел бы преобразовать это десятичное число обратно во время. Какова формула для этого, спасибо заранее, мое десятичное число - это что-то вроде «0,12425576899», пока я нашел это, но он преобразует это в '00: минуты на двойном: 00 'вот код
Public Function FromDecimalTime(ByVal t As Double) As Date
FromDecimalTime = TimeSerial(0, Fix(t), (t - Fix(t)) * 60)
End Function
Следующее преобразует Double
в формат Date
. Чтобы показать только временную часть формата даты, используйте функцию Format
:
Sub trythis()
Dim t As Double
t = Now()
Debug.Print CDate(t)
Debug.Print Format(t, "hh:mm:ss")
End Sub
Это немного сложно понять без знаков препинания, но
Date
в VBA - это просто «украшенный»Double
. Я догадываюсь? вы просто ищетеCDate(t)
.