年齢計算を行うユーザー定義関数 Hit Counter

対象バージョン : 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

改訂履歴


目次へ戻る