生肖是怎么算出来的?知道一个日期2065 438+4月20日,如何用vba计算生肖和星座?

函数sx(日期)作为字符串

AnimalStr = "老鼠、牛、老虎、兔子、龙、蛇、马、羊、猴子、鸡、狗和猪"

sx = Mid(animalStr,(年(A)-1900)Mod 12+1,1)

结束功能

函数xz(日期)作为字符串

ConstellationName = "白羊座、金牛座、双子座、巨蟹座、狮子座、处女座、天秤座、天蝎座、射手座、摩羯座、水瓶座、双鱼座"

指数= 0

y =年份(A)

m =月(A)

d =日(A)

y = m * 100 + d

如果(((y & gt= 321)和(y & lt= 419)))那么

指数= 0

else if((y & gt;= 420)和(y & lt= 520))那么

指数= 1

else if((y & gt;= 521)和(y & lt= 620))那么

指数= 2

else if((y & gt;= 621)和(y & lt= 722))那么

指数= 3

else if((y & gt;= 723)和(y & lt= 822))那么

指数= 4

else if((y & gt;= 823)和(y & lt= 922))那么

指数= 5

else if((y & gt;= 923)和(y & lt= 1022))那么

指数= 6

else if((y & gt;= 1023)和(y & lt= 1121))那么

指数= 7

else if((y & gt;= 1122)和(y & lt= 1221))那么

指数= 8

else if((y & gt;= 1222)或(y & lt= 119))那么

指数= 9

else if((y & gt;= 120)和(y & lt= 218))那么

指数= 10

else if((y & gt;= 219)和(y & lt= 320))那么

指数= 11

否则:

指数= 0

如果…就会结束

xz = Mid(constellationName,Index * 4 + 1,3)

结束功能