日付時刻 年齢を算出する
※より実装に近く表示させる為、コードの改行を避けています。スマホ等で閲覧される際は向きを変えてご覧ください。
※実装するバージョンによってはバージョンアップの仕様により動作しないコードもあります。実装には動作確認の上ご使用下さい。
Public Function GetAge(Birthday As String, Sanshutubi As String) As 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 |