MiracleJobLogo
エンジニアのエンジニアによるエンジニアのためのサイト
News 07/19 おすすめ情報に 『 【資格取得者速報】 Aさん 「 Microsoft Security, Compliance, and Identity Fundamentals」 』 を追加しました。
会員登録するとキャリア診断やサイトに参加することができます。
あなたにおすすめな技術情報、資格、仕事などをお知らせします。

無料会員登録


パスワードを忘れた場合
LINEで送る
MiracleJobBanaLeft1
MiracleJobBanaLeft2


Excelで干支を取得する方法 VBA編
profile-img
投稿者: coccoさん
投稿日:2023/01/05 14:12
更新日:
like-img
分類
技術
テクノロジー
システムエンジニア
キャリア
テクニカルサポート
投稿内容

Excelで生年月日から干支を調べることができます。

Excelで干支を取得する方法 (miraclejob.com)


しかし、VBAでも同じように生年月日から干支を調べることが可能です。

Excelの仕様上、申始まりになりますが、西暦を12で割った余りの数が各干支に紐づくことになります。


ソースコード

Function GetEto(a_dtDate As Date)

    Dim sArEto()            '//干支配列

    Dim iYear                '//年

    Dim iRemain            '//年を12で割った余り


    ReDim sArEto(11)


    '// 干支を12で割った際の余りをインデックスとして配列を設定

    sArEto(0) = "申"

    sArEto(1) = "酉"

    sArEto(2) = "戌"

    sArEto(3) = "亥"

    sArEto(4) = "子"

    sArEto(5) = "丑"

    sArEto(6) = "寅"

    sArEto(7) = "卯"

    sArEto(8) = "辰"

    sArEto(9) = "巳"

    sArEto(10) = "午"

    sArEto(11) = "未"



    '// 年を取得

    iYear = CInt(Format(a_atDate, "yyyy"))


    '// 年を12で割った余りを取得

    iRemaint = iYear Mod 12


    GetEto = sArEto(iRemaint)

End Funcion


上のソースコードを登録した後は、GetEto関数で日付から干支を算出することができます。

例:GetEto("2018/1/1") 戌年


参考:

VBAで日付から干支を取得する | Excel作業をVBAで効率化 (vbabeginner.net)

コメント


MiracleJobBanaRight1
MiracleJobBanaRight2
MiracleJobBanaRight3