农历阳历转换器换

EXCEL里面的公历转农历_百度知道
EXCEL里面的公历转农历
提问者采纳
这个需要VBA了.按ALT+F11 再 插入 模块把下面的代码制复制到模块中,然后 在B1中输入:=calendar(A1)假设日期在A1Option ExplicitDim WeekName(7), MonthAdd(11), NongliData(120), TianGan(9), DiZhi(11), ShuXiang(11), DayName(30), MonName(12)Dim curTime, curYear, curMonth, curDay, curWeekdayDim GongliStr, WeekdayStr, NongliStr, NongliDayStrDim i, m, n, k, isEnd, bit, TheDate, num1, num2Dim year, month, day, grid, grid_dateFunction calendar(grid)grid_date = gridyear = Mid(grid_date, 1, 4)num1 = InStr(grid_date, &-&)num2 = InStr(6, grid_date, &-&)If (num2 - num1) = 3 Then
month = Mid(grid_date, 6, 2)
day = Mid(grid_date, 9, 2) Else
month = Mid(grid_date, 6, 1)
day = Mid(grid_date, 8, 2)
End If'星期名WeekName(0) = & * &WeekName(1) = &星期日&WeekName(2) = &星期一&WeekName(3) = &星期二&WeekName(4) = &星期三&WeekName(5) = &星期四&WeekName(6) = &星期五&WeekName(7) = &星期六&'天干名称TianGan(0) = &甲&TianGan(1) = &乙&TianGan(2) = &丙&TianGan(3) = &丁&TianGan(4) = &戊&TianGan(5) = &己&TianGan(6) = &庚&TianGan(7) = &辛&TianGan(8) = &壬&TianGan(9) = &癸&'地支名称DiZhi(0) = &子&DiZhi(1) = &丑&DiZhi(2) = &寅&DiZhi(3) = &卯&DiZhi(4) = &辰&DiZhi(5) = &巳&DiZhi(6) = &午&DiZhi(7) = &未&DiZhi(8) = &申&DiZhi(9) = &酉&DiZhi(10) = &戌&DiZhi(11) = &亥&'属相名称ShuXiang(0) = &鼠&ShuXiang(1) = &牛&ShuXiang(2) = &虎&ShuXiang(3) = &兔&ShuXiang(4) = &龙&ShuXiang(5) = &蛇&ShuXiang(6) = &马&ShuXiang(7) = &羊&ShuXiang(8) = &猴&ShuXiang(9) = &鸡&ShuXiang(10) = &狗&ShuXiang(11) = &猪&'农历日期名DayName(0) = &*&DayName(1) = &初一&DayName(2) = &初二&DayName(3) = &初三&DayName(4) = &初四&DayName(5) = &初五&DayName(6) = &初六&DayName(7) = &初七&DayName(8) = &初八&DayName(9) = &初九&DayName(10) = &初十&DayName(11) = &十一&DayName(12) = &十二&DayName(13) = &十三&DayName(14) = &十四&DayName(15) = &十五&DayName(16) = &十六&DayName(17) = &十七&DayName(18) = &十八&DayName(19) = &十九&DayName(20) = &二十&DayName(21) = &二十一&DayName(22) = &二十二&DayName(23) = &二十三&DayName(24) = &二十四&DayName(25) = &二十五&DayName(26) = &二十六&DayName(27) = &二十七&DayName(28) = &二十八&DayName(29) = &二十九&DayName(30) = &三十&'农历月份名MonName(0) = &*&MonName(1) = &正&MonName(2) = &二&MonName(3) = &三&MonName(4) = &四&MonName(5) = &五&MonName(6) = &六&MonName(7) = &七&MonName(8) = &八&MonName(9) = &九&MonName(10) = &十&MonName(11) = &十一&MonName(12) = &腊&'公历每月前面的天数MonthAdd(0) = 0MonthAdd(1) = 31MonthAdd(2) = 59MonthAdd(3) = 90MonthAdd(4) = 120MonthAdd(5) = 151MonthAdd(6) = 181MonthAdd(7) = 212MonthAdd(8) = 243MonthAdd(9) = 273MonthAdd(10) = 304MonthAdd(11) = 334'农历数据NongliData(0) = 2635NongliData(1) = 333387NongliData(2) = 1701NongliData(3) = 1748NongliData(4) = 267701NongliData(5) = 694NongliData(6) = 2391NongliData(7) = 133423NongliData(8) = 1175NongliData(9) = 396438NongliData(10) = 3402NongliData(11) = 3749NongliData(12) = 331177NongliData(13) = 1453NongliData(14) = 694NongliData(15) = 201326NongliData(16) = 2350NongliData(17) = 465197NongliData(18) = 3221NongliData(19) = 3402NongliData(20) = 400202NongliData(21) = 2901NongliData(22) = 1386NongliData(23) = 267611NongliData(24) = 605NongliData(25) = 2349NongliData(26) = 137515NongliData(27) = 2709NongliData(28) = 464533NongliData(29) = 1738NongliData(30) = 2901NongliData(31) = 330421NongliData(32) = 1242NongliData(33) = 2651NongliData(34) = 199255NongliData(35) = 1323NongliData(36) = 529706NongliData(37) = 3733NongliData(38) = 1706NongliData(39) = 398762NongliData(40) = 2741NongliData(41) = 1206NongliData(42) = 267438NongliData(43) = 2647NongliData(44) = 1318NongliData(45) = 204070NongliData(46) = 3477NongliData(47) = 461653NongliData(48) = 1386NongliData(49) = 2413NongliData(50) = 330077NongliData(51) = 1197NongliData(52) = 2637NongliData(53) = 268877NongliData(54) = 3365NongliData(55) = 531109NongliData(56) = 2900NongliData(57) = 2922NongliData(58) = 398042NongliData(59) = 2395NongliData(60) = 1179NongliData(61) = 267415NongliData(62) = 2635NongliData(63) = 661067NongliData(64) = 1701NongliData(65) = 1748NongliData(66) = 398772NongliData(67) = 2742NongliData(68) = 2391NongliData(69) = 330031NongliData(70) = 1175NongliData(71) = 1611NongliData(72) = 200010NongliData(73) = 3749NongliData(74) = 527717NongliData(75) = 1452NongliData(76) = 2742NongliData(77) = 332397NongliData(78) = 2350NongliData(79) = 3222NongliData(80) = 268949NongliData(81) = 3402NongliData(82) = 3493NongliData(83) = 133973NongliData(84) = 1386NongliData(85) = 464219NongliData(86) = 605NongliData(87) = 2349NongliData(88) = 334123NongliData(89) = 2709NongliData(90) = 2890NongliData(91) = 267946NongliData(92) = 2773NongliData(93) = 592565NongliData(94) = 1210NongliData(95) = 2651NongliData(96) = 395863NongliData(97) = 1323NongliData(98) = 2707NongliData(99) = 265877'生成当前公历年、月、日 ==& GongliStrcurYear = yearcurMonth = monthcurDay = dayGongliStr = curYear & &年&If (curMonth & 10) Then
GongliStr = GongliStr & &0& & curMonth & &月&Else
GongliStr = GongliStr & curMonth & &月&End IfIf (curDay & 10) Then
GongliStr = GongliStr & &0& & curDay & &日&Else
GongliStr = GongliStr & curDay & &日&End If'生成当前公历星期 ==& WeekdayStrcurWeekday = Weekday(curTime)WeekdayStr = WeekName(curWeekday)'计算到初始时间日的天数:(正月初一)TheDate = (curYear - 1921) * 365 + Int((curYear - 1921) / 4) + curDay + MonthAdd(curMonth - 1) - 38If ((curYear Mod 4) = 0 And curMonth & 2) Then
TheDate = TheDate + 1End If'计算农历天干、地支、月、日isEnd = 0m = 0Do
If (NongliData(m) & 4095) Then
If (n & 0) Then
'获取NongliData(m)的第n个二进制位的值
bit = NongliData(m)
For i = 1 To n Step 1
bit = Int(bit / 2)
bit = bit Mod 2
If (TheDate &= 29 + bit) Then
TheDate = TheDate - 29 - bit
If (isEnd = 1) Then
m = m + 1LoopcurYear 戚梁纶梦璜缕络债盲泉= 1921 + mcurMonth = k - n + 1curDay = TheDateIf (k = 12) Then
If (curMonth = (Int(NongliData(m) / 65536) + 1)) Then
curMonth = 1 - curMonth
ElseIf (curMonth & (Int(NongliData(m) / 65536) + 1)) Then
curMonth = curMonth - 1
End IfEnd If'生成农历天干、地支、属相 ==& NongliStrNongliStr = &农历& & TianGan(((curYear - 4) Mod 60) Mod 10) & DiZhi(((curYear - 4) Mod 60) Mod 12) & &年&NongliStr = NongliStr & &(& & ShuXiang(((curYear - 4) Mod 60) Mod 12) & &&'生成农历月、日 ==& NongliDayStrIf (curMonth & 1) Then
NongliDayStr = &闰& & MonName(-1 * curMonth)Else
NongliDayStr = MonName(curMonth)End IfNongliDayStr = NongliDayStr & &月&NongliDayStr = NongliDayStr & DayName(curDay) & &)&calendar = NongliStr & NongliDayStrEnd Function
提问者评价
非常感谢!
其他类似问题
excel的相关知识
等待您来回答
您可能关注的推广
下载知道APP
随时随地咨询
出门在外也不愁阴历转阳历算法_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
17页免费17页免费2页免费7页免费8页免费 4页免费4页免费3页免费6页免费3页3下载券
喜欢此文档的还喜欢2页1下载券4页免费4页免费6页2下载券5页免费
阴历转阳历算法|如​何​计​算
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
你可能喜欢农历阳历转换
农历阳历转换
阳历号多少?
阳历号1969年十二月十三。
的感言:非常感谢你
其他回答 (3)
15555天前
1970年1月
20日
星期二
农历腊月十三
己酉年丁丑月庚子日
水瓶座
&
阳历日,农历一九六九年十二月十三日。
星期五己酉(鸡)年 十一月廿五摩羯座
等待您来回答
星座占卜领域专家}

我要回帖

更多关于 八字合婚 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信