将1个excel单元格中的两个整数转换为日期/时间

时间:2017-02-02 19:34:19

标签: excel vba

在excel中,我有一个日期和时间给我作为' 011215 0800'这是2015年1月12日8:00或2015年1月12日上午8:00,如何使用VBA宏转换它。 感谢

1 个答案:

答案 0 :(得分:0)

选择您要处理的单元格并运行它:

Sub DateFixer()
    Dim yr As Long, mn As Long, dy As Long, hr As Long, mni As Long
    Dim r As Range, i As String
    For Each r In Selection
        i = r.Text
        r.Clear
        dy = CLng(Left(i, 2))
        mn = CLng(Mid(i, 3, 2))
        yr = CLng(Mid(i, 5, 2)) + 2000
        hr = CLng(Mid(i, 8, 2))
        mni = CLng(Right(i, 2))
        r.Value = DateSerial(yr, mn, dy) + TimeSerial(hr, mni, 0)
        r.NumberFormat = "d/m/yyyy hh:mm"
    Next r
End Sub