yymmdd形式をyyyy/mm/dd形式に変換したい
エクセルで移行用のデータをもらった時、必要な書式になっていない場合があります。
特にyymmdd形式だと日付とは認識されず、isDate関数で使用できません。
今回紹介するコードで「yymmdd→yyyy/mm/dd」に変換可能です。
yymmdd→yyyy/mm/ddに変換するサンプルコード
Format関数を使用し、変換します。
Public Sub sample() Dim str As String: str = "220910" '■求めている結果が出ない Debug.Print Format(str, "yy/mm/dd") '04/10/29 が出力。2022/09/10とはならない Debug.Print Format(str, "yyyy/mm/dd") '2504/10/29が出力。2022/09/10とはならない Debug.Print Format(str, "@@@@/@@/@@") ' 22/09/10が出力。2022/09/10とはならない '■求めている結果が出る '220910→ 22/09/10→ 2022/09/10と変換するイメージ Debug.Print Format(Format(str, "@@@@/@@/@@"), "yyyy/mm/dd") '2022/09/10と正しい結果を出力 End Sub
注意点
- Format関数で文字列形式からDate型のデータ型に型変換するイメージです。
- 「@@@@/@@/@@」は 一つの文字またはスペースを表します。
@(アットマーク)に対応する位置に文字が存在する場合はそのまま表示され、なければスペースが表示されます。
コメント