年齢計算を行うユーザー定義関数 |
対象バージョン : 97, 2000, 2002, 2003, 2007
最終更新日 : 2007/02/12
(オリジナル作成日 : 1996/06/15)
概 要
年齢計算を行うユーザー定義関数です。
構 文
Age(BirthDay [, BaseDay])
解 説
Age 関数の戻り値はバリアント型 (Variant)です。
Age 関数では次の引数を使用します。
引 数 | 内 容 |
---|---|
BirthDay | 誕生日を示す日付形式を西暦で指定します。 |
BaseDay | 年齢計算を行う基準となる日の式を指定します。 既定値はこの関数の実行日です。 |
引数が正しくない場合、この関数は Null を返します。
ユーザー定義関数
Public Function Age(Arg_BirthDay, Optional Arg_BaseDay) As Variant Dim tmpBirthDay As Date Dim tmpBaseDay As Date Age = Null If IsMissing(Arg_BaseDay) Then Arg_BaseDay = Date End If If IsNull(Arg_BirthDay) Or IsNull(Arg_BaseDay) Then Exit Function End If If Not (IsDate(Arg_BirthDay) And IsDate(Arg_BaseDay)) Then Exit Function End If If VarType(Arg_BirthDay) <> vbDate Then tmpBirthDay = DateValue(Arg_BirthDay) Else tmpBirthDay = Arg_BirthDay End If If VarType(Arg_BaseDay) <> vbDate Then tmpBaseDay = DateValue(Arg_BaseDay) Else tmpBaseDay = Arg_BaseDay End If If tmpBirthDay > tmpBaseDay Then Exit Function End If If Format(tmpBaseDay, "mmdd") < Format(tmpBirthDay, "mmdd") Then Age = Year(tmpBaseDay) - Year(tmpBirthDay) - 1 Else Age = Year(tmpBaseDay) - Year(tmpBirthDay) End If End Function
改訂履歴