2017-02-02 3 views
0

Excelで「011215 0800」の日付と時刻を入力しています。これは1/12/15 8:00または2015年1月12日午前8時ですどのように私はVBAマクロでこれを変換することができます。 おかげ1つのExcelセル内の2つの中間点を日付/時刻に変換する

+0

は、なぜあなたはVBAマクロが必要なのでしょうか?とにかく、あなたはそれをビットに分割し、それを 'datevalue'と' timevalue'関数に送ります。私はあなたの問題が何かを見ていない、あなたはこれでどこかでつかまっていますか...? – vacip

+1

クイックダーティーな式: '= - REPLACE(REPLACE(A1,10,0、": ")、5,0、"/")、3,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 
関連する問題