在我的数据中,日期时间格式在单列中为15-02-2019 19:56
。
我想将日期和时间分隔为单独的列。
答案 0 :(得分:0)
请注意,使用日期/日期时间时,Excel 在单元格中显示的内容实际上不是Excel在单元格中保存的值。 Excel为该日期保存的值实际上是43511,83056
,这是自1900-01-01
起的天数。因此,时间是一天中的一部分,因此用该值的逗号后的部分表示。
因此您可以使用…
=INT(B1)
仅获取日期(并将单元格的格式设置为日期)=B1-INT(B1)
仅获取时间(并将单元格格式化为时间)或者只使用与B列相同的值(C和D中的=B1
),然后将一个格式设置为日期,将一个格式设置为时间。
在VBA中,您可以使用相同的技术:
Option Explicit
Public Sub SplitDateAndTime()
Dim MyDateTime As Date
MyDateTime = Range("B1").Value
'get date
Range("C1").Value = Int(MyDateTime)
Range("C1").NumberFormat = "YYYY-MM-DD"
'get time
Range("D1").Value = MyDateTime - Int(MyDateTime)
Range("D1").NumberFormat = "hh:mm:ss"
End Sub
答案 1 :(得分:-1)