EXCEL VBA怎樣做天干地支的運算

2007-02-03 9:31 pm
我想在EXCEL VBA實現只要輸入年月日,便出現類似甲子年甲子月甲子日諸如此類,這個程式怎樣寫呢?

回答 (1)

2007-02-04 10:01 am
✔ 最佳答案
在EXCEL VBA實現只要輸入年月日
出現 天干地支年, 是絕對無問題, 因年是有公認的數學邏輯排法
出現 天干地支日, 是有很大問題, 因根本上沒有數學上的邏輯去決定該月是排29日還是30日
出現 天干地支月, 問題可能更大, 因亦沒有數學上的邏輯去決定那一年是潤年, 及會潤在那一個月。
如一定要做, 亦未嘗不可, 但會是一個頗大的工程。
1.) 需先決定VBA寫有效的年期, 現假設是 2001 - 2100 一百年
2.) 再將這一百年每個農曆月的日數列出, 即平年要順序列出12個資料, 潤年要列出13個, 如是潤六月要再某欄位寫成 6.5, 六月則寫成6. 這些日數及潤月資料是不難在書店或網上搜集到的
3.) 將這100年的農曆月資料, 有系統地排列在WorkSheet上, 作為資料庫
4.) 將 2001年 1月 1 日, 該天的天干地支 年/月/日 先配好, 以應用在VBA程式上作為起算
5.) 然後用 VBA 利用資料庫的資料, 再根據天干地支年/月/日的排法及其規則去編寫程式
6.) 注意: 天干地支月的排法是每年重新以一種規則去排的, 不是接上一個月順排。即如上一年十二月是甲子月, 今年的元月不會是乙丑月的
7.) 編寫VBA程式應不會太難, 從構思/編寫/修改/求證等, 應一兩天可完成, 但資料搜集/輸入/核對 及 去 認識天干地支年/月/日的排序方法及其規則 可能所需時間更長
希望你能明白如何寫這個程式, 除了具備相當的VBA能力及天干地支的認識外, 尚要有大量時間。


收錄日期: 2021-04-12 21:59:47
原文連結 [永久失效]:
https://hk.answers.yahoo.com/question/index?qid=20070203000051KK01755

檢視 Wayback Machine 備份