| 年齢計算を行うユーザー定義関数 |
|
対象バージョン : 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
改訂履歴