まえきんブログ

*文系出身SEが綴る、日常・趣味・体験談・スキルアップについての雑記ブログ*

【Excel VBA学習 #3】セルのシリアル値を取得する

まえきんです!

今回はセルのシリアル値を取得する方法について学習しましたのでご紹介します。

・シリアル値とは?

日付を数値に置き換え、1900年1月1日を「1」として、そこからの経過日数を

数値化したものです。以降1日で1ずつ増加する連続した数値になります。

例えば本日は2021年1月2日ですが、この日付のシリアル値は「44198」です。

セルに入力された日付のシリアル値を取得するコードは下記のように記述します。

f:id:maekinblog:20210102212722p:plain

ポイントは、Value2プロパティを使用している点です。

簡易的にマクロの実行ボタンを作成して、上記のコードを

実行すると下記のように結果が得られます。

【実行前】

f:id:maekinblog:20210102211029p:plain

【実行後】

f:id:maekinblog:20210102211045p:plain

・シリアル値を使うメリット

任意の日付の1日前や1日後等の日付計算が容易になることです。

例えば2021年1月2日の翌日は、このシリアル値(44198)に+1すれば計算が可能です。

同様に、2021年1月2日の前日は、このシリアル値(44198)に-1で計算完了です。

シリアル値の仕組みを使用せずにこうした日付の計算をする場合、

月によっては30日 or 31日あることや、2月のうるう年の存在も考慮しなければ

いけなくなり、判定条件が複雑になってしまいます。こうした面倒な判断は

Excelに任せて楽をしちゃいましょう。

今回はシリアル値の取得に焦点を当てた内容でしたが、今後、必要に応じて

ツールの作成で日付の計算が必要になった際に実装してみたいスキルです(^^)

最後まで読んで頂きありがとうございました!ではまた!