yyyymmdd形式、yyyy/m/d形式に相互変換したい
エクセルで移行用のデータをもらった時、必要な書式になっていない場合があります。
特にyyyymmdd形式だと日付とは認識されず、isDate関数で使用できません。
今回紹介するコードで「yyyymmdd←→yyyy/m/d」に相互変換可能です。
yyyy/m/dではなく(0埋めしない形式ではなく)、yyyy/mm/dd(0埋めする形式)の場合はこちら。
yyyymmdd←→yyyy/m/dに相互変換するサンプルコード
Format関数を使用し、変換します。
'■yyyymmdd←→yyyy/mm/dd相互変換
Public Sub sample_yyyymd_Conv()
'■yyyymmdd→yyyy/m/d
Dim str As String: str = "20210102"
Debug.Print format(Format(str,"@@@@/@@/@@"),"yyyy/mm/dd") '2021/1/2
'■yyyy/m/d→yyyymmdd形式への変換
Dim sDate As Date: sDate = "2021/1/2"
Debug.Print Format(sDate, "yyyymmdd") '20210102
End Sub
注意点
- Format関数で文字列形式からDate型のデータ型に型変換するイメージです。
- 「@@@@/@@/@@」は 一つの文字またはスペースを表します。
@(アットマーク)に対応する位置に文字が存在する場合はそのまま表示され、なければスペースが表示されます。



コメント