Digital_Neko

フリーランスプログラマー

Excel VBA 8桁の文字列を日付に変換

セルに入力してある、8桁の文字列を日付に変換する方法です。
サンプルプログラムは図1になります。

図1 文字列を日付に変換

日付型に変換する、CDate関数。そして書式を設定するFormat関数を利用します。
まずFormat関数に設定されている書式「@@@@/@@/@@」について。

@マークは文字プレースホルダーと言って、文字またはスペースを表示します。
したがって、「文字4桁/文字2桁/文字2桁」に書式を設定します。

次にCDate関数で、書式を設定した文字列を日付型に変換します。そして日付型
の変数「val」に代入しています。最後に、セル「1行2列」に値を代入します。

これでシート上で8桁の文字列を日付に変換できます。念のため不正な文字列に
対してのエラー処理も記述しています。
不正な文字列を指定した場合、セルには「不正な文字です」と表示されます。