27日目 もういくつ寝るとお正月【30日間1日1本マクロ生活】
30日間1日1本マクロ生活、27日目です。
マクロを書く準備は、0日目に記事を書きました。
お正月
もういくつ寝るとお正月。
お正月には年賀状をいただきます。
年賀状に必ず書いてあるのが、干支です。
来年2018年は戌年ですね。息子2号が年男です。
西暦の年を入れれば、干支が返ってくる関数を作ってみました。
とりあえずコードを
Function eto(n)
If n <= 0 Then
ans = False
Else
Select Case n Mod 12
Case 4
ans = "子"
Case 5
ans = "丑"
Case 6
ans = "寅"
Case 7
ans = "卯"
Case 8
ans = "辰"
Case 9
ans = "巳"
Case 10
ans = "午"
Case 11
ans = "未"
Case 0
ans = "申"
Case 1
ans = "酉"
Case 2
ans = "戌"
Case 3
ans = "亥"
End Select
End If
eto = ans
End Function
やっていることは単純です。
干支は12種類。12年で一回りしますから、年を12で割った余りで決定します。
12で割って4余る年が子年。そこから一つずつずらしていけば完成です。
実行結果
ワークシートのA列に並んでいる西暦の年。
その横のセルに今回の関数「eto」を入れて下までコピーです。
完璧ですな。
Excelは便利
悔しいですが、Excelは便利です。
Microsoftにお金を払うのは癪でしょうがないんですが、Excelばかりは仕方がない。
マクロを書くようになると、Excelからは離れられないですね。
30日間、残り3日です。頑張ります。
マイクロソフト 2014-10-17