日付時刻 年齢を算出する

※より実装に近く表示させる為、コードの改行を避けています。スマホ等で閲覧される際は向きを変えてご覧ください。

※実装するバージョンによってはバージョンアップの仕様により動作しないコードもあります。実装には動作確認の上ご使用下さい。

Public Function GetAge(Birthday As String, Sanshutubi As StringAs Long
'引数[Birthday]:生年月日、String型でここにDate型に変換できないものが入ると「0」になる
'引数[Sanshutubi]:算出する該当日、String型でここにDate型に変換できないものが入ると「0」になる
'返値[GetAge]:Long

Dim a As Date, b As Date, C As Date

If IsDate(Birthday) = False Or IsDate(Sanshutubi) = False Then
    GetAge = 0
Else
    a = CDate(Birthday): b = CDate(Sanshutubi)
    C = DateSerial(Year(b), Month(a), Day(a))
    
        If C <= Date Then
            GetAge = Year(b) - Year(a)
        Else
            GetAge = Year(b) - Year(a) - 1
        End If
End If
End Function

Private Sub Test()
Dim a As String, b As String
a = InputBox("生年月日", "", "")
b = InputBox("算出する該当日", "", Date)
MsgBox GetAge(a, b)
End Sub

 

 

 

2000年01月01日|[VBサンプルコード]:[日付時刻]