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



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

选择要处理的单元格并运行以下命令:

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

最新更新