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") 戌年
参考: