VBAで誕生日(西暦)から年齢を計算する

VBAで誕生日から年齢を計算したり日付から経過日数を計算する処理

ワークシート関数のDATEDIF 関数を利用する。
・Evaluate メソッドを使用することでVBAでDATEDIF 関数などのワークシート関数を利用することができる。(調査中)

DateDiff(時間単位,日付1,日付2)を利用する。
・DateDiffで時間単位を「yyyy」にし、年齢を求めようとすると月や日を考慮したものにならないので、DateDiffで計算後、日付1と日付2を比較し、TRUE(0)・FALSE(-1)を利用して調整する。

<例>
Dim birthday As Date
Dim age As Integer
birthday = 2000/1/1
age = DateDiff(“yyyy”, birthday, Date) + (Format(birthday, “mmdd”) > Format(Date, “mmdd”))
Cells(1, 2).Value = age

・Dateで今日の日付が取得できる。
・Formatにmmddを指定して月日のみを取得する

<時間単位>
yyyy 年
q 四半期
m 月
y 年間通算日
d 日
w 週日
ww 週
h 時
n 分
s 秒

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です