用VB语言在EXCEL中写按出生日期判断星座!
但是这种方法有一个隐藏的bug:闰年。闰年的星座分割日在3月以后会增加1。隐藏的bug是大忌!如果有人调用你的函数,总会出现不规则的错误,有时候你发现不了问题,就是因为你的函数有这个隐藏的bug。
为了绕过闰年的bug,我写了下面这个函数,直接模仿人肉查询月日的过程。
当然也有一些可以优化的地方。比如月份的数组,因为维度和内容相同,可以直接优化;例如,最终的if语句结构可以替换为iif语句。但这些都是细节。为了更好的体现编程思路,我们就不做这些“巧妙”的优化了。
字符串形式的星座函数(x表示日期)
Dim XZ(12)作为字符串
Dim Yue(12)作为长
Dim Ri(12) As Long
XZ(0) = "摩羯座"
XZ(1) = "水瓶座"
XZ(2) = "双鱼座"
XZ(3) = "白羊座"
XZ(4) =“金牛座”
XZ(5) =“双子座”
XZ(6) =“癌”
XZ(7) =“狮子座”
XZ(8) =“处女座”
XZ(9) =“天秤座”
XZ(10) = "天蝎座"
XZ(11) =“射手座”
XZ(12) = "摩羯座"
岳(1) = 1
岳(2) = 2
岳(3) = 3
岳(4) = 4
岳(5) = 5
岳(6) = 6
岳(7) = 7
岳(8) = 8
岳(9) = 9
岳(10) = 10
岳(11) = 11
岳(12) = 12
Ri(1) = 20
Ri(2) = 19
Ri(3) = 21
Ri(4) = 20
Ri(5) = 21
Ri(6) = 22
Ri(7) = 23
Ri(8) = 23
Ri(9) = 23
Ri(10) = 24
Ri(11) = 23
Ri(12) = 22
m =月(x)
d =天(x)
如果d & lt日(曰(米))然后
星座运势= XZ(岳(m) - 1)
其他
星座运势= XZ(月(米))
如果…就会结束
结束功能