萬年歷農歷七二年屬什麼
上一期,我為大家分享了自己弄的公歷—-農歷互轉的技術與一,今天,我們以第二種實現這個問題。
好了,我們現在開始實現吧。
一、Excel前端帶農歷萬年歷界面設計
界面的設計,這里和上次那一期一設計的帶農歷的萬年歷的界面一樣,這里不做過多描述,這里就只以截圖直接呈現給各位吧。如下圖所示
圖1 帶農歷的萬年歷界面
二、用二實現帶農歷萬年歷的功能代碼
模塊1中代碼如下:
‘強勢自定義“公歷”—“農歷”轉換函數解決萬年歷中同時存在公歷和農歷日期的問題
Public shp_year_select As Shape, y ‘定義公有全局變量年份選擇組合框shp_year_select和用于存儲選擇的年份變量y,以便所有的過程都可以調用和回傳數據
Sub Run_Fill_Calender() ‘運行填充日歷
[b4].Select
n = shp_year_select.ControlFormat.Value
y = shp_year_select.ControlFormat.List(n)
[O1] = y ” 年歷” “[” Mid(NongLi(y “-6-1”), 4, 6) “]”
Fill_Calender_Datas ‘調用“填充日歷數據”過程
[a65535] = y ‘將選擇過的年份存儲在單元格”A65535″中
End Sub
Sub Fill_Calender_Datas() ‘填充日歷數據
Dim rg(1 To 12) As Range ‘定義12個元素的的范圍區域對象數組
‘為區域對象數組的每個區域對象元素對象指派這12個區域對象具體的實體
Set rg(1) = [b5:h10]: Set rg(2) = [j5:p10]: Set rg(3) = [r5:x10]: Set rg(4) = [z5:af10]
Set rg(5) = [b15:h20]: Set rg(6) = [j15:p20]: Set rg(7) = [r15:x20]: Set rg(8) = [z15:af20]
Set rg(9) = [b25:h30]: Set rg(10) = [j25:p30]: Set rg(11) = [r25:x30]: Set rg(12) = [z25:af30]
For i = 1 To 12
Select Case i
Case 1, 3, 5, 7, 8, 10, 12: days_31 y, i, rg(i)
Case 4, 6, 9, 11: days_30 y, i, rg(i)
Case 2: days_29_Or_28 y, i, rg(i)
End Select
Next
End Sub
Sub Erse_Calender_Datas() ‘清空日歷數據
Dim rg As Range
Set rg = [5:10,15:20,25:30]
[b4].Select
rg.ClearContents
[O1] = “—- 年歷[—–年]”
yr = Year(Date)
‘以下是當今日期的年份在表單組合框中顯示
For i = 1 To shp_year_select.ControlFormat.ListCount
If yr = Val(shp_year_select.ControlFormat.List(i)) Then
n = i
Exit For
End If
Next
shp_year_select.ControlFormat.ListIndex = n
End Sub
Sub days_31(y, m, r As Range) ‘月大–31天
Dim da As Date, d
r.ClearContents
week_str = “日一二三四五六”
d = 1
da = CDate(y “-” m “-” d) ‘將字串動態轉換為真正的日期
ws = Mid(Format(da, “[$-804]aaaa”), 3) ‘從轉換為星期XX的字串中提取大寫星期幾的漢字保存在ws中
First_Day_Pos_In_Week_Area = InStr(week_str, ws) ‘每月初始的1號在日歷星期區域的位置
For d = 1 To 31
da = CDate(y “-” m “-” d) ‘將字串動態轉換為真正的日期
ws = Mid(Format(da, “[$-804]aaaa”), 3) ‘從轉換為星期XX的字串中提取大寫星期幾的漢字保存在ws中
Other_Day_Pos_In_Week_Area = InStr(week_str, ws)
‘實際的每月的號數應該加上每月初始的1號在日歷星期區域的位置減去1“”d + (First_Day_Pos_In_Week_Area – 1),為了在第7個位置仍然將該號 _
數放在該行,所以還得再減去1“d + (First_Day_Pos_In_Week_Area – 1) – 1”,然后再除7取整,同時乘以7后加上該號數在日歷中星期區域的實際列數 _
位置,即可得到該號數在日歷區域的設計位置
p = Int((d + (First_Day_Pos_In_Week_Area – 1) – 1) / 7) 7 + Other_Day_Pos_In_Week_Area
yl_md = Right(NongLi(da), 4) ‘調用轉農歷(陰歷)函數,取后四個漢字月日日期字
yl_m = Left(yl_md, 2) ‘拆解陰歷月日中的月份
yl_d = Right(yl_md, 2) ‘拆解陰歷月日中的日子
If yl_d = “初一” Then yl_d = yl_m ‘若拆解的日子是“初一”,則即刻用該月的月份替代該陰歷月份的首個日子
r(p) = d Chr(10) yl_d ‘將公歷日期和對應的農歷日期合在一起填入到p處正確位置
If da = Date Then r(p).Select ‘若選擇年份后不斷瞬時生成的日期da和現在的日期匹配,則將當前填充的日期單元格選擇成活動狀態
Next
End Sub
Sub days_30(y, m, r As Range) ‘月小–30天
Dim da As Date, d
r.ClearContents
week_str = “日一二三四五六”
d = 1
da = CDate(y “-” m “-” d) ‘將字串動態轉換為真正的日期
ws = Mid(Format(da, “[$-804]aaaa”), 3) ‘從轉換為星期XX的字串中提取大寫星期幾的漢字保存在ws中
First_Day_Pos_In_Week_Area = InStr(week_str, ws) ‘每月初始的1號在日歷星期區域的位置
For d = 1 To 30
da = CDate(y “-” m “-” d) ‘將字串動態轉換為真正的日期
ws = Mid(Format(da, “[$-804]aaaa”), 3) ‘從轉換為星期XX的字串中提取大寫星期幾的漢字保存在ws中
Other_Day_Pos_In_Week_Area = InStr(week_str, ws)
‘實際的每月的號數應該加上每月初始的1號在日歷星期區域的位置減去1“”d + (First_Day_Pos_In_Week_Area – 1),為了在第7個位置仍然將該號 _
數放在該行,所以還得再減去1“d + (First_Day_Pos_In_Week_Area – 1) – 1”,然后再除7取整,同時乘以7后加上該號數在日歷中星期區域的實際列數 _
位置,即可得到該號數在日歷區域的設計位置
p = Int((d + (First_Day_Pos_In_Week_Area – 1) – 1) / 7) 7 + Other_Day_Pos_In_Week_Area
yl_md = Right(NongLi(da), 4) ‘調用轉農歷(陰歷)函數,取后四個漢字月日日期字
yl_m = Left(yl_md, 2) ‘拆解陰歷月日中的月份
yl_d = Right(yl_md, 2) ‘拆解陰歷月日中的日子
If yl_d = “初一” Then yl_d = yl_m ‘若拆解的日子是“初一”,則即刻用該月的月份替代該陰歷月份的首個日子
r(p) = d Chr(10) yl_d ‘將公歷日期和對應的農歷日期合在一起填入到p處正確位置
If da = Date Then r(p).Select ‘若選擇年份后不斷瞬時生成的日期da和現在的日期匹配,則將當前填充的日期單元格選擇成活動狀態
Next
End Sub
Sub days_29_Or_28(y, m, r As Range) ‘閏年2月份29天,平年2月份28天(例如2022 年就是閏年)
Dim da As Date, d
r.ClearContents
week_str = “日一二三四五六”
d = 1
da = CDate(y “-” m “-” d) ‘將字串動態轉換為真正的日期
ws = Mid(Format(da, “[$-804]aaaa”), 3) ‘從轉換為星期XX的字串中提取大寫星期幾的漢字保存在ws中
First_Day_Pos_In_Week_Area = InStr(week_str, ws) ‘每月初始的1號在日歷星期區域的位置
If Is_LeepYear(y) Then ‘閏年2月份天數
For d = 1 To 29
da = CDate(y “-” m “-” d) ‘將字串動態轉換為真正的日期
ws = Mid(Format(da, “[$-804]aaaa”), 3) ‘從轉換為星期XX的字串中提取大寫星期幾的漢字保存在ws中
Other_Day_Pos_In_Week_Area = InStr(week_str, ws)
‘實際的每月的號數應該加上每月初始的1號在日歷星期區域的位置減去1“”d + (First_Day_Pos_In_Week_Area – 1),為了在第7個位置仍然將該 _
號數放在該行,所以還得再減去1“d + (First_Day_Pos_In_Week_Area – 1) – 1”,然后再除7取整,同時乘以7后加上該號數在日歷中星期區域的實 _
際列數位置,即可得到該號數在日歷區域的設計位置
p = Int((d + (First_Day_Pos_In_Week_Area – 1) – 1) / 7) 7 + Other_Day_Pos_In_Week_Area
yl_md = Right(NongLi(da), 4) ‘調用轉農歷(陰歷)函數,取后四個漢字月日日期字
yl_m = Left(yl_md, 2) ‘拆解陰歷月日中的月份
yl_d = Right(yl_md, 2) ‘拆解陰歷月日中的日子
If yl_d = “初一” Then yl_d = yl_m ‘若拆解的日子是“初一”,則即刻用該月的月份替代該陰歷月份的首個日子
r(p) = d Chr(10) yl_d ‘將公歷日期和對應的農歷日期合在一起填入到p處正確位置
If da = Date Then r(p).Select ‘若選擇年份后不斷瞬時生成的日期da和現在的日期匹配,則將當前填充的日期單元格選擇成活動狀態
Next
Else ‘平年2月份天數
For d = 1 To 28
da = CDate(y “-” m “-” d) ‘將字串動態轉換為真正的日期
ws = Mid(Format(da, “[$-804]aaaa”), 3) ‘從轉換為星期XX的字串中提取大寫星期幾的漢字保存在ws中
Other_Day_Pos_In_Week_Area = InStr(week_str, ws)
‘實際的每月的號數應該加上每月初始的1號在日歷星期區域的位置減去1“”d + (First_Day_Pos_In_Week_Area – 1),為了在第7個位置仍然將該 _
號數放在該行,所以還得再減去1“d + (First_Day_Pos_In_Week_Area – 1) – 1”,然后再除7取整,同時乘以7后加上該號數在日歷中星期區域的實 _
際列數位置,即可得到該號數在日歷區域的設計位置
p = Int((d + (First_Day_Pos_In_Week_Area – 1) – 1) / 7) 7 + Other_Day_Pos_In_Week_Area
yl_md = Right(NongLi(da), 4) ‘調用轉農歷(陰歷)函數,取后四個漢字月日日期字
yl_m = Left(yl_md, 2) ‘拆解陰歷月日中的月份
yl_d = Right(yl_md, 2) ‘拆解陰歷月日中的日子
If yl_d = “初一” Then yl_d = yl_m ‘若拆解的日子是“初一”,則即刻用該月的月份替代該陰歷月份的首個日子
r(p) = d Chr(10) yl_d ‘將公歷日期和對應的農歷日期合在一起填入到p處正確位置
If da = Date Then r(p).Select ‘若選擇年份后不斷瞬時生成的日期da和現在的日期匹配,則將當前填充的日期單元格選擇成活動狀態
Next
End If
End Sub
Function Is_LeepYear(y) As Boolean ‘給定的年份是否為閏年LeepYear的判斷
If (y Mod 400 = 0) Or (y Mod 100 0 And y Mod 4 = 0) Then
Is_LeepYear = True
Else
Is_LeepYear = False
End If
End Function
‘自定義“公歷轉農歷”日期函數
Public Function NongLi(Optional XX_DATE As Date)
Dim MonthAdd(11), NongliData(99), TianGan(9), DiZhi(11), ShuXiang(11), DayName(30), MonName(12)
Dim curTime, curYear, curMonth, curDay
Dim GongliStr, NongliStr, NongliDayStr
Dim i, m, n, k, isEnd, bit, TheDate
‘獲取當前系統時間
curTime = XX_DATE
‘天干名稱
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) = “初8221;: DayName(10) = “初8221;: DayName(11) = “十一”
DayName(12) = “十二”: DayName(13) = “十三”: DayName(14) = “十四”: DayName(15) = “十五”: DayName(16) = “十六”: DayName(17) = “十七”
DayName(18) = “十八”: DayName(19) = “十8221;: DayName(20) = “二8221;: DayName(21) = “廿一”: DayName(22) = “廿二”
DayName(23) = “廿三”: DayName(24) = “廿四”: DayName(25) = “廿五”: DayName(26) = “廿六”: DayName(27) = “廿七”
DayName(28) = “廿八”: DayName(29) = “廿8221;: DayName(30) = “三8221;
‘農歷月份名
MonName(0) = “”: MonName(1) = “正”: MonName(2) = “二”: MonName(3) = “三”: MonName(4) = “四”: MonName(5) = “五”
MonName(6) = “六”: MonName(7) = “七”: MonName(8) = “八”: MonName(9) = “8221;: MonName(10) = “8221;: MonName(11) = “冬”
MonName(12) = “臘”
‘公歷每月前面的天數(在這里,MonthAdd(0)代表的是1月前面的天數、MonthAdd(1)代表的是2月前面的天數、、MonthAdd(2)代表的是3月 _
前面的天數等等)
MonthAdd(0) = 0: MonthAdd(1) = 31: MonthAdd(2) = 59: MonthAdd(3) = 90: MonthAdd(4) = 120: MonthAdd(5) = 151
MonthAdd(6) = 181: MonthAdd(7) = 212: MonthAdd(8) = 243: MonthAdd(9) = 273: MonthAdd(10) = 304: MonthAdd(11) = 334
‘農歷數據(NongliData保存了從1921年(NongliData(0))以來到2022 年(NongliData(99))這100年的農歷數據)。必須說明下這些數據 _
的含義,比如NongliData(0)=2635是1921年的數據,二進制是101001001011,這12位二進制的各位,分別對應農歷的12個月:從左往右的 _
之一位是1,那麼1921年正月是30天;第二位是0,那麼1921年二月是29天;第三位是1,那麼1921年三月是30天;第四位是0,那麼1921年 _
四月是29天……以此類推。這些數據不是通過某種算法算出來的,而是根據以1921年作為基準情況下從1921年~2022 年這100年的每年的 _
農歷1~12個月中各月的天數在30或者29跳變情況而形成的12位或13位二進制(考慮到有可能某些年份要閏月的情況)+閏月 二進制形成 _
的序列,由這個序列再形成簡化的十進制。 _
下面,我們舉個例子詳細說明下:在下面的NongliData上,我們會發現有很多大于4095的數值,比如1922年是NongliData(1)=333387,二 _
進制是1010001011001001011,1922年農歷有13個月(包括農歷閏月),去掉頭101000,1011001001011是13個月份數據,而閏幾月 _
就在101000中保存,刪掉后3個0,101就是1922年閏月的月份,101是十進制的5。至于中間的三個零是為了編程的時候好對齊才多出來的。 _
多虧了 上的好心人總結出來了,我們才得以方便使用這些又原12位的二進制轉化為簡化的十進制各年農歷數據
NongliData(0) = 2635: NongliData(1) = 333387: NongliData(2) = 1701: NongliData(3) = 1748: NongliData(4) = 267701
NongliData(5) = 694: NongliData(6) = 2391: NongliData(7) = 133423: NongliData(8) = 1175: NongliData(9) = 396438
NongliData(10) = 3402: NongliData(11) = 3749: NongliData(12) = 331177: NongliData(13) = 1453: NongliData(14) = 694
NongliData(15) = 201326: NongliData(16) = 2350: NongliData(17) = 465197: NongliData(18) = 3221: NongliData(19) = 3402
NongliData(20) = 400202: NongliData(21) = 2901: NongliData(22) = 1386: NongliData(23) = 267611: NongliData(24) = 605
NongliData(25) = 2349: NongliData(26) = 137515: NongliData(27) = 2709: NongliData(28) = 464533: NongliData(29) = 1738
NongliData(30) = 2901: NongliData(31) = 330421: NongliData(32) = 1242: NongliData(33) = 2651: NongliData(34) = 199255
NongliData(35) = 1323: NongliData(36) = 529706: NongliData(37) = 3733: NongliData(38) = 1706: NongliData(39) = 398762
NongliData(40) = 2741: NongliData(41) = 1206: NongliData(42) = 267438: NongliData(43) = 2647: NongliData(44) = 1318
NongliData(45) = 204070: NongliData(46) = 3477: NongliData(47) = 461653: NongliData(48) = 1386: NongliData(49) = 2413
NongliData(50) = 330077: NongliData(51) = 1197: NongliData(52) = 2637: NongliData(53) = 268877: NongliData(54) = 3365
NongliData(55) = 531109: NongliData(56) = 2900: NongliData(57) = 2922: NongliData(58) = 398042: NongliData(59) = 2395
NongliData(60) = 1179: NongliData(61) = 267415: NongliData(62) = 2635: NongliData(63) = 661067: NongliData(64) = 1701
NongliData(65) = 1748: NongliData(66) = 398772: NongliData(67) = 2742: NongliData(68) = 2391: NongliData(69) = 330031
NongliData(70) = 1175: NongliData(71) = 1611: NongliData(72) = 200010: NongliData(73) = 3749: NongliData(74) = 527717
NongliData(75) = 1452: NongliData(76) = 2742: NongliData(77) = 332397: NongliData(78) = 2350: NongliData(79) = 3222
NongliData(80) = 268949: NongliData(81) = 3402: NongliData(82) = 3493: NongliData(83) = 133973: NongliData(84) = 1386
NongliData(85) = 464219: NongliData(86) = 605: NongliData(87) = 2349: NongliData(88) = 334123: NongliData(89) = 2709
NongliData(90) = 2890: NongliData(91) = 267946: NongliData(92) = 2773: NongliData(93) = 592565: NongliData(94) = 1210
NongliData(95) = 2651: NongliData(96) = 395863: NongliData(97) = 1323: NongliData(98) = 2707: NongliData(99) = 265877
‘生成當前公歷年、月、日 == GongliStr
curYear = Year(curTime)
curMonth = Month(curTime)
curDay = Day(curTime)
GongliStr = curYear “年”
If (curMonth 10) Then ‘判斷當前月是否小于10月,如果小于10月的話,當前月的位數應該補零占位,形式上形成兩位的月份
GongliStr = GongliStr “0” curMonth “月”
Else ‘否則,當前月大于等于10,就直接形成兩位的月份
GongliStr = GongliStr curMonth “月”
End If
If (curDay 10) Then ‘判斷當前日子是否小于10日,如果小于10日的話,當前日子的位數應該補零占位,形式上形成兩位的日子
GongliStr = GongliStr “0” curDay “日”
Else ‘否則,當前日子大于等于10,就直接形成兩位的日子
GongliStr = GongliStr curDay “日”
End If
‘用日期差函數返回相差天數的形式計算到初始時間1921年2月8日的天數:1921-2-8(正月初一)
If curTime = CDate(“1921-2-8”) And curTime = CDate(“2022 -2-8”) Then
TheDate = DateDiff(“d”, CDate(“1921-2-8”), curTime) + 1
Else
NongLi = “”
Exit Function
End If
If ((curYear Mod 4) = 0 And curMonth 2) Then
TheDate = TheDate + 1
End If
‘計算農歷天干、地支、月、日
isEnd = 0 ‘是否結束,為1表示結束,為0表示未結束
m = 0
Do
If (NongliData(m) 4095) Then ‘以農歷數據為4095這個農歷年份為基準判斷當前年份相比之下農歷數據換算成二進制位數是否 _
低于12位的情況
k = 11 ‘小于4095,則該年份的農歷數據換算成二進制數11位(不足12位)
Else
k = 12 ‘大于等于4095,則該年份的農歷數據換算成二進制數12位(滿滿的12位)
End If
n = k
Do
If (n 0) Then
Exit Do
End If
‘獲取NongliData(m)的第n個二進制位的值
bit = NongliData(m)
For i = 1 To n Step 1
bit = Int(bit / 2) ‘輾轉除2取整
Next
bit = bit Mod 2 ‘除2取余
If (TheDate = 29 + bit) Then ‘日期差的天數都嚴重小于等于(29+bit)天,則立即置結束標志isEnd為1,并退出Do循環
isEnd = 1
Exit Do
End If
TheDate = TheDate – 29 – bit ‘修正日期差天數
n = n – 1 ‘遍歷操作一次獲取每位二進制位值,n修正一次自身(自減一次)
Loop
If (isEnd = 1) Then
Exit Do
End If
m = m + 1 ‘m為農歷數據數組的下標,每循環一次,增加一次,到下一年份的農歷數據準備處理
Loop
‘修正當前的年、月、日
curYear = 1921 + m
curMonth = k – n + 1
curDay = TheDate
‘如果該年份的農歷數據對應的二進制位數為12位,則進一步做如下處理
If (k = 12) Then
If (curMonth = (Int(NongliData(m) / 65536) + 1)) Then ‘If (curMonth=(Int(NongliData(m)/65536)+1))潤 _
幾月的問題,比如1922年年份的農歷數據是333387,由333387/65536取整得5,表達1922年是閏5月
curMonth = 1 – curMonth ‘修正當前月
ElseIf (curMonth (Int(NongliData(m) / 65536) + 1)) Then
curMonth = curMonth – 1 ‘修正當前月
End If
End If
‘生成農歷天干、地支、屬相 == NongliStr
NongliStr = “農歷” TianGan(((curYear – 4) Mod 60) Mod 10) DiZhi(((curYear – 4) Mod 60) Mod 12) “年”
NongliStr = NongliStr “(” ShuXiang(((curYear – 4) Mod 60) Mod 12) “)”
‘生成農歷月、日 == NongliDayStr
If (curMonth 1) Then
NongliDayStr = “閏” MonName(-1 curMonth)
Else
NongliDayStr = MonName(curMonth)
End If
NongliDayStr = NongliDayStr “月”
NongliDayStr = NongliDayStr DayName(curDay)
NongLi = NongliStr NongliDayStr
End Function
ThisWorkbook中代碼如下:
Private Sub Workbook_Open() ‘工作簿一打開即刻初始化表單組合框數據并且在組合框中顯示之前選擇過的年份
Set shp_year_select = Sheets(1).Shapes(“年份選擇”)
shp_year_select.ControlFormat.RemoveAllItems
‘萬年歷的年份范圍初步設定為“1900~9999”
For i = 1921 To 2022
shp_year_select.ControlFormat.AddItem i
Next
‘以下是重新還原表單組合框控件之前選定過的年份顯示
yr = [a65535]
For i = 1 To shp_year_select.ControlFormat.ListCount
If yr = Val(shp_year_select.ControlFormat.List(i)) Then
n = i ‘遍歷整個表單組合框所有元素,查找與yr是否相匹配的元素,若找到即刻記下該編號并存于n中
Exit For
End If
Next
shp_year_select.ControlFormat.ListIndex = n ‘讓表單組合框顯示找到的之前選擇過的年份
End Sub
三、用二實現帶農歷萬年歷運行效果測試
(一)選擇年份,呈待生成帶農歷萬年歷狀態。如下圖所示
圖2 選擇年份準備生成帶農歷萬年歷
(二) 選擇的年份,生成實實在在的帶農歷的萬年歷。如下圖所示
圖3 生成帶農歷萬年歷效果
(三)壓下清除日歷數據按鈕,準備進行帶農歷的萬年歷數據清除。如下圖所示
圖4 準備清除帶農歷萬年歷數據
(四)壓下狀態下的清除日歷數據按鈕情況下 該按鈕,完成帶農歷萬年歷數據的清除,并將年份組合框內的顯示提示年份置為最新當前時間的年份。如下圖所示
圖5 清除帶農歷萬年歷數據結果
四、技術亮點小結
(一)同樣是充分利用尋找農歷閏月和壓縮的農歷字還原完成公歷轉農歷
(二)同樣是在Excel的萬年歷數據填充單元格時,用字串處理函數處理農歷生成的數據
好了,本期我們就分享到這里吧,希望大家喜歡和收哦!
最后,還是感謝大家的持續 (號:跟我學Office高級辦公)、推廣、點評哦!謝謝大家繼續 下期第二中實現帶農歷的萬年歷設計!
以上就是與萬年歷農歷七二年屬什麼相關內容,是關于萬年歷的分享。看完多功能萬年歷后,希望這對大家有所幫助!


















