この記事には広告を含む場合があります。
記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。
Excelマクロで文字列型を日付型に変換するvbaの記述にはCDate関数を使います。
(Microsoft;CDate関数より)
(使用Excel)2013
参考
参考 Microsoft;CDate関数
Excelマクロで文字列型を日付型に変換するCDate関数
Excelマクロで文字列型を日付型に変換するにはCDate関数を使用します。次のようなExcelシートを用意しました。
B1セル、B2セル、B3セルを結合して日付表示するマクロを記述します。下の画像のとおり、strGy、strGm、strGdという3つの変数を用意し、それぞれのセルの文字を代入します。
次にstrGbという変数に、上記3つの変数(strGy、strGm、strGd)を使用して、「2016/4/5」という文字列型のデータを代入ます。(上の画像の緑色の枠囲み部分)
最後に、赤色の枠囲み部分でCDate関数を使って日付型に変換します。それをA6セルに表示します。
実行すると次のとおりです。
CDate関数を使ってシート名称の文字列型を日付型に変換してセルに入力
CDate関数を使うと、下の画像のようにシート名称に「201604」というような年月を指定し、そのシート名称から日付を作成してセルに入力することができます。
このシート名称から「2016/4/1」をA5セルに入力するマクロを記述してみます。(定義部分は略)
上の画像のピンク色の枠囲み部分では、「201604」のシートの名前(ws1.Name)を変数strGaに代入し、strGaの左四文字(2016)を変数strGyに、右二文字(04)を変数strGmに代入しています。
次に変数strGbに上記のstrGyとstrGmという2つの変数を使って「2016/4/1」という文字列型のデータを代入し、赤色の枠囲み部分でCDate関数を使って日付型に変換します。それをA5セルに表示します。
実行すると次のとおりです。
■□◆◇ 編集後記 ◇◆□■
昨日、今日と関東はかなり暑くなりました。ネクタイをはずしたい。