【ExcelVBA】生年月日から現在の年齢を取得する

こんなあなたにおすすめ

・Excel VBAで現在の年齢を取得する方法を知りたい

Excel VBAで生年月日を入力してもらい、そこから年齢を取得したいということがあると思います。

今回はそんなときに使える方法を解説します。

現在の年齢を取得する方法

Sub test1()

    Dim birthday As Variant
    Dim age As Variant
    
    
L1:

    birthday = InputBox("あなたの生年月日を入力してください。yyyy/mm/dd形式" _
                    & vbCrLf & "例) 2021/01/09 or 2021/1/9")
    
    If IsDate(birthday) Then
        age = DateDiff("yyyy", birthday, Date) _
                + (Format(birthday, "mmdd") > Format(Date, "mmdd"))
        MsgBox "年齢: " & age & "歳"
    Else
        MsgBox "入力形式が違います。" & vbCrLf & "(yyyy/mm/dd)"
        GoTo L1
    End If
    
End Sub

↓InputBoxを表示した結果

↓InputBoxに生年月日を入力

↓MsgBoxが表示される

生年月日を正しく入力しないと、MsgBoxが表示され、InputBoxの初期画面に戻ります。

まとめ

ここまで、生年月日から年齢を取得する方法について解説しました。

年齢を取得できると便利ですので、ぜひ使ってみてください。

Date関数については、下記の記事で解説していますので、ご参照ください。
>>【ExcelVBA】現在の日付を取得する方法 Date関数

Excelで作業効率をアップしたい方は、下記の記事もご参照ください。
>>Excelのショートカット一覧 覚えて作業効率アップ!!
>>Excelで覚えておくべき関数 作業効率アップ間違いなし

【Excelについて学びたい方】
Excel 最強の教科書[完全版]
【Excel VBAについて学びたい方】
Excel VBA 脱初心者のための集中講座
エンジニアを目指すなら、TechAcademy!
オンラインスクール受講者数No.1!

・自宅にいながらオンライン完結で勉強できる
➡スクールへの移動時間を削減するため、効率的に学習可能!

・受講生に1人ずつ現役のプロのパーソナルメンターがつく
➡分からないことがわかるまで徹底的にメンターに質問可能!

・チャットで質問すればすぐに回答が返ってくる
➡レスポンスが速いから、わからないことをその場で解決!

・オリジナルサービスやオリジナルアプリなどの開発までサポート
➡就職、転職のときに役立つポートフォリオを開発可能!

無料で体験できるので、まずはお試し
>>TechAcademyの無料体験はこちら

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です