選択範囲の8桁の文字列を日付に変換するマクロ

年月日を8桁の文字列、例えば「20130518」と表わすケースがあります。これをExcelで使用するためにはシリアル値に変換する必要があります。
結構、面倒ですので、これをマクロで行うことを考えます。
次は、選択範囲の8桁の文字列を日付(シリアル値)に変換するマクロです。

Sub EightToDate()
    Dim c As Object
    For Each c In Selection
        c.Value = DateSerial(Left(c.Value, 4), Mid(c.Value, 5, 2), Right(c.Value, 2))
        c.NumberFormatLocal = "yyyy/m/d"
    Next c
End Sub

逆に選択範囲の日付(シリアル値)を8桁の文字列に変換するマクロは次の通りです。

Sub DateToEight()
    Dim c As Object
    For Each c In Selection
        c.Value = Format(c.Value, "yyyymmdd")
        c.NumberFormatLocal = "0"
    Next c
End Sub

コメント

タイトルとURLをコピーしました