好的文章肯定人人都喜欢阅读,金牛男和喜欢的女生说话是怎样的给你解惑答疑,丰富的内容让你更加有只是金牛男对暗恋的人的小动作和金牛男和喜欢的女生说话是怎样的让你人生无疑。关注我们,更多精彩正在路上!
金牛座的男生性格比较内敛沉稳,不善言辞,为人处世比较忠厚踏实;不急不躁的性格,向往悠然自得的生活方式;不管是感情还是物质都有自己的原则,一切所得都依靠自己的本事儿来;是一个现实者!在歪歪乐眼里成熟、稳重的金牛性格高冷、固执,但对感情专一,比较重视感情,对爱的人更是百般体贴、呵护;看似朴实、踏实的金牛最擅长隐***,总是喜欢把自己的情绪***起来,外表刚强内心脆弱的金牛一旦动情就无法自拔;有时看似神经大条的金牛,心思细腻,极容易宽恕别人,一般不会轻易说分手。
金牛男喜欢一个人的表现
1、舍得花钱,大方
金牛座的人一向比较朴实,从来不乱花钱;当你发现近期的金牛时常买东西,给你送礼物,愿意给你花钱,舍得花钱;这就表明金牛对你不只一点点喜欢。平时呆萌的金牛只有真心爱一个人的时候,才会如此认真付出。
2、照顾你
金牛座的人最不擅长表达,性格内敛、木讷;在爱情里往往是被动型的,当你发现金牛经常照顾你,对你的事情很上心;时常叮嘱你,天冷添衣,天热打伞;每天都会发信息嘘寒问暖,很简单的一句问候,歪歪乐认为都是金牛满满的爱意。
3、暧昧不清
金牛对感情常常拎不清,不敢确认自己的感情;所以当金牛爱上一个人时,喜欢靠近你,制造在一起的机会,时不时的引起你的注意;这就意味着金牛对你是有意思的,只是暂时分不清是暧昧还是爱。
4、深情的看着你
温柔体贴的金牛,表达爱意的方式最为直接;不会甜言蜜语,只是当你们在一起时,眼神就没离开过你,一直用很深情的眼神望着你;不经意间流来的喜欢。一点浪漫因子都没有的金牛,这时却是最浪漫的,含情脉脉的看着你,温柔的对待你;这就是金牛爱一个人最浪漫的时刻。
金牛男追一个人的套路
套路一:打友情牌
看似踏实本分的金牛男,在追求爱情的道路上可谓是深不可测;他们也会遇到心仪的女生,更懂得机不可失;因此追求套路是必须的。金牛男深知不可贸然从事,所以他们会不急不慢先从她身边的朋友入手,先了解对方,与对方先成为朋友;一步一步的接近对方,最稳妥的追求方式就是先从做朋友开始。
套路二:主动约吃饭、看
成为朋友后的金牛男,了更多相处的机会;自然追爱的路上少不了约会。金牛男会主动约对方吃饭、看,甚至会搞一些小惊喜、小浪漫;还会花心思为对方准备礼物;总之歪歪乐想说金牛男会表现得非常大方得体,甚至是非常有绅士风度等。
套路三:日久生情
战术三自然是少不了日久生情,金牛男绝对是一个心非常细的男生;若是金牛男一直出现在你的身边,总是喜欢在你身晃荡;有时候当你遇到困难时,他们总会之一时间出现。金牛男此时打的是持,俗话说得好“日久生情”,久而久之再冷血的女生也会被金牛男的毅力所打动,最后动心了。
套路四:试探你
当金牛男走心了,就会花很长一段时间来观察你,甚至会主动靠近你、试探你;打探你对他的感觉,以此来确定你的心意;最后在研究考虑是否要主动向你告白,因为金牛男们是绝对不会做没有把握的事情。
金牛男暧昧和喜欢之分
金牛座的男生最会过日子了,他们是居家型好男人;他们在精明能干、勤勤恳恳,在金钱方面有着自己的价值观,从来不会大手大脚地花钱;当金牛座愿意为一个女生花钱,那么就说明金牛男对这个女生有点喜欢的,金牛男面对自己喜欢的女生会无条件的付出,愿意为对方花钱,想在对方面前表现;如果金牛只是单纯的对你好,没有什么实际的行动;那么也许金牛男只是把你当作。
金牛男的暧昧
金牛座的男生个性单纯、内敛,最不擅长表达;在感情方面单纯的如一张白纸,跟没有那个胆量搞暧昧了;金牛男最擅长的就是暗恋了,若金牛男在某个女生面前显得非常的拘谨,不敢直视对方,说话结巴;在歪歪乐看来这就是表示金牛男喜欢这个女生。金牛内敛的性子,就算是喜欢也不会大胆地去告白,只会默默地喜欢;这样单纯的金牛是不会暧昧这种事情的。只是善良的金牛男很喜欢帮助别人,时常被人误会成是在暧昧。
金牛男的喜欢
金牛座的男生古板、老实,对感情也是如此,一点也不开窍,当他们真心喜欢一个人时,绝对不会主动出击,而是采取迂回战术,默默地守护在对方的身边;时刻关心着对方,无微不至的关怀;情感上金牛男是慢热型的,也是执着型的,一旦细化上一个人就会喜欢很长时间;因此当你看到金牛男对一个女生温柔、关心,对方有困难,一定是之一个出现的;这就是金牛男喜欢一个人的表现!
各位好,在前面有一期作品中,我们曾经在Excel中实现了万年历的,当时也有很多 友看过我的那期 或,附带有评价和收***,在此向你们表示感谢。
另外,有个名叫“斑斓虎zcy”的粉丝评论说我做的万年历如果含有农历就完美了,对这位粉丝的提议我欣然接受,另外,虽然我没采用“斑斓虎zcy”粉丝提供的公历转农历的关键技术模版,但对“斑斓虎zcy”粉丝的热心表示深深的谢意!
本期,我们先来用之一种实现吧。
一、Excel前端带农历万年历界面设计
界面的设计,这里和上次那一期万年历的界面一样,这里不做过多描述,这里就只以截图直接呈现给各位吧。如下图所示
图1 带农历的万年历界面
二、用一实现带农历万年历的功能代码
模块1中代码如下:
‘强势自定义“公历”—-“农历”互转函数
‘ :互联
‘修正:今日号 “跟我学Office高级办公应用” 2023 /10/12
‘—农历数据定义—
‘先以 Hexadecimal_To_Binary 函数还原成长度为 18 的字串,其定义如下:
‘前12个字节代表1-12月:1为大月,0为小月;压缩成十六进制(1-3位)
‘第13位为闰月的情况,1为大月30天,0为小月29天;(4位)
‘第14位为闰月的月份,如果不是闰月为0,否则给出月份(5位)
‘最后4位为当年农历新年的公历日期,如0131代表1月31日;当作数值转十六进制(6-7位)
‘定义如下农历(阴历)日期常量(1899~2100,共202年,但是事实上我们只需要用到1900~2100这201年即可)
Private Const ylData = “AB500D2,4BD0883,” _
“4AE00DB,A5700D0,54D0581,D2600D8,D9500CC,655147D,56A00D5,9AD00CA,55D027A,4AE00D2,” _
“A5B0682,A4D00DA,D2500CE,D25157E,B5500D6,56A00CC,ADA027B,95B00D3,49717C9,49B00DC,” _
“D4A00D9,EA500CE,6A9157E,5AD00D6,2B600CC,86E137C,92E00D3,C8D1783,C9500DB,D4A00D0,” _
“D8A167F,B5500D7,56A00CD,A5B147D,25D00D5,92D00CA,D2B027A,A9500D2,B550781,6CA00D9,” _
“B5500CE,535157F,4DA00D6,A5B00CB,457037C,52B00D4,A9A0883,E9500DA,6AA00D0,AEA0680,” _
“AB500D7,4B600CD,AAE047D,A5700D5,52600CA,F260379,D9500D1,5B50782,56A00D9,96D00CE,” _
“49700D7,64B00CC,74A037B,EA500D2,6B50883,5AC00DB,AB600CF,96D0580,92E00D8,C9600CD,” _
“D95047C,D4A00D4,DA500C9,755027A,56A00D1,ABB0781,25D00DA,92D00CF,CAB057E,A9500D6,” _
“B4A00CB,BAA047B,B5500D2,55D0983,4BA00DB,A5B00D0,5171680,52B00D8,A9300CD,795047D,” _
“6AA00D4,AD500C9,5B5027A,4B600D2,96E0681,A4E00D9,D2600CE,EA6057E,D5300D5,5AA00CB,” _
“76A037B,96D00D3,4AB0B83,4AD00DB,A4D00D0,D0B1680,D2500D7,D5200CC,DD4057C,B5A00D4,” _
“56D00C9,55B027A,49B00D2,A570782,A4B00D9,AA500CE,B25157E,6D200D6,ADA00CA,4B6137B,” _
“93700D3,49F08C9,49700DB,64B00D0,68A1680,EA500D7,6AA00CC,A6C147C,AAE00D4,92E00CA,” _
“A9B0883,A9500DB,B4A00CF,B6A067F,AD500D7,55A00CD,ABA047C,A5A00D4,52B00CA,B27037A,” _
“69300D1,7330781,6AA00D9,AD500CE,4B5157E,4B600D6,A5700CB,54E047C,D1600D2,E960882,” _
“D5200DA,DAA00CF,6AA167F,56D00D7,4AE00CD,A9D047D,A2D00D4,D1500C9,F250279,D5200D1”
‘定义农历 (阴历)每月的汉字大写日期“天”
Private Const ylMd0 = “初一初二初三初四初五初六初七初八初九初十十一十二十三十四十五” _
“十六十七十八十九二十廿一廿二廿三廿四廿五廿六廿七廿八廿九三十 “
‘定义农历 (阴历)一年中的汉字大写日期“月”
Private Const ylMn0 = “正二三四五六七十冬腊”
‘定义农历 (阴历)年中的“天干”(如:甲乙丙丁……等)
Private Const ylTianGan0 = “甲乙丙丁戊已庚辛壬癸”
‘定义农历 (阴历)年中的“地支”(如:子丑寅卯辰……等)
Private Const ylDiZhi0 = “子丑寅卯辰巳午未申酉戌亥”
‘定义农历 (阴历)年中的“属相”(如:鼠牛虎兔龙……等)
Private Const ylShu0 = “鼠牛虎兔龙蛇马羊猴鸡狗猪”
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(GetYLDate(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(GetYLDate(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(GetYLDate(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天(例如2023 年就是闰年)
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(GetYLDate(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(GetYLDate(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的判断
Is_LeepYear = True
Else
Is_LeepYear = False
End If
End Function
‘自定义“公历转农历”日期函数
Function GetYLDate(ByVal strDate As String) As String
On Error GoTo ExitFunction_Label
If Not IsDate(strDate) Then Exit Function ‘如果参数strDate非日期的无效字串,则退出本函数工作
‘定义setDate–设置的未来日期,tYear–未来日期的本年份,tMonth–本月份,tDay–本日子
Dim setDate As Date, tYear As Integer, tMonth As Integer, tDay As Integer
setDate = CDate(strDate) ‘为该GetYLDate()函数参数的字串转换后的日期赋予设定的日期
tYear = Year(setDate): tMonth = Month(setDate): tDay = Day(setDate) ‘年、月、日分别取值
‘如果不是有效有日期,退出
If tYear 2100 Or tYear 1900 Then Exit Function
‘定义daList()–是元素为18位日期二进制字串数组,conDate–农历新年日期,thisMonths–本年的二进制 _
月份信息(可能 闰月)
Dim daList() As String * 18, conDate As Date, thisMonths As String
‘定义AddYear–是相对1900年递增的年,AddMonth–月份增量,AddDay–天数增量,getDay–农历新年和设 _
之日期相差天数
Dim AddYear As Integer, AddMonth As Integer, AddDay As Integer, getDay As Integer
‘定义YLyear–农历(阴历)年的字串,YLShuXing–农历(阴历)年的属相
Dim YLyear As String, YLShuXing As String
‘定义dd0–农历(阴历)年的阴历日子,mm0–农历(阴历)年的阴历月,ganzhi()–每个元素为2个字的天干地 _
支数组
Dim dd0 As String, mm0 As String, ganzhi(0 To 59) As String * 2
‘定义RunYue–农历(阴历)年是否闰月的布尔型标志,RunYue1–农历(阴历)年闰月月份
Dim RunYue As Boolean, RunYue1 As Integer, mDays As Integer, i As Integer
‘加载2年内的农历数据
ReDim daList(tYear – 1 To tYear)
daList(tYear – 1) = Hexadecimal_To_Binary(Mid(ylData, (tYear – 1900) * 8 + 1, 7))
daList(tYear) = Hexadecimal_To_Binary(Mid(ylData, (tYear – 1900 + 1) * 8 + 1, 7))
AddYear = tYear
initYL:
AddMonth = CInt(Mid(daList(AddYear), 15, 2))
AddDay = CInt(Mid(daList(AddYear), 17, 2))
conDate = DateSerial(AddYear, AddMonth, AddDay) ‘农历新年日期
getDay = DateDiff(“d”, conDate, setDate) + 1 ‘相差天数
If getDay 1 Then AddYear = AddYear – 1: GoTo initYL
thisMonths = Left(daList(AddYear), 14) ‘前14位为本年的二进制月份信息(可能有闰月)存于thisMonths中
RunYue1 = Val(“H” Right(thisMonths, 1)) ‘闰月月份
If RunYue1 0 Then ‘如果有闰月,则立即修正本年的二进制月份信息thisMonths,形成真正有效的二进制序 _
列信息
thisMonths = Left(thisMonths, RunYue1) Mid(thisMonths, 13, 1) Mid(thisMonths, RunYue1 + 1)
End If
thisMonths = Left(thisMonths, 13) ‘最后一次修正本年的二进制月份信息thisMonths,直接取13个月的情况
For i = 1 To 13 ‘遍历1~13个月,找到并计算含闰月的有效天数,同时退出循环
mDays = 29 + CInt(Mid(thisMonths, i, 1))
If getDay mDays Then
getDay = getDay – mDays
Else
If RunYue1 0 Then ‘如果有闰月,则进一步根据i的值情况做如下处理
If i = RunYue1 + 1 Then RunYue = True ‘若i确系为闰月,则将闰月标志置为真
If i RunYue1 Then i = i – 1 ‘若i大于闰月月份,则将将i回退修正
End If
AddMonth = i ‘最终记录下i作为真正的增量月份存入AddMonth
AddDay = getDay ‘同时,将得到的天数差作为增量天数
Exit For
End If
Next
dd0 = Mid(ylMd0, (AddDay – 1) * 2 + 1, 2) ‘用查找表的形式当前日期对应的农历(阴历)日子
mm0 = Mid(ylMn0, AddMonth, 1) + “月” ‘用查找表的形式当前日期对应的农历(阴历)月份
For i = 0 To 59 ‘0~59表示60年一个甲子,表示以60年一个的形式,通过查找表精准每年的天干地支
ganzhi(i) = Mid(ylTianGan0, (i Mod 10) + 1, 1) + Mid(ylDiZhi0, (i Mod 12) + 1, 1)
Next
YLyear = ganzhi((AddYear – 4) Mod 60) ‘通过查找表形式得出阴历年的天干地支表示形式
YLShuXing = Mid(ylShu0, ((AddYear – 4) Mod 12) + 1, 1) ‘通过查找表形式得出阴历年的属相表示形式
If RunYue Then mm0 = “闰” mm0 ‘如果某阴历月份有闰月,特别加上“闰X月”的形式
GetYLDate = “农历:” YLyear “(” YLShuXing “)年” mm0 dd0 ‘拼接当前日期的完整农历信息
ExitFunction_Label:
End Function
‘将压缩的阴历字还原
Private Function Hexadecimal_To_Binary(ByVal strHex As String) As String ‘十六进制转二进制
Dim i As Integer, i1 As Integer, tmpV As String
Const hStr = “0123456789ABCDEF”
Const bStr = “0000000100100011010001010110022210001001101010222100110222102221”
tmpV = UCase(Left(strHex, 3))
‘以下是十六进制转二进制的具体操作
For i = 1 To Len(tmpV)
i1 = InStr(hStr, Mid(tmpV, i, 1))
Hexadecimal_To_Binary = Hexadecimal_To_Binary Mid(bStr, (i1 – 1) * 4 + 1, 4)
Next
Hexadecimal_To_Binary = Hexadecimal_To_Binary Mid(strHex, 4, 2)
‘十六进制转十进制
Hexadecimal_To_Binary = Hexadecimal_To_Binary “0” CStr(Val(“H” Right(strHex, 2)))
End Function
ThisWorkbook中代码如下:
Private Sub Workbook_Open() ‘工作簿一打开即刻初始化表单组合框数据并且在组合框中显示之前选择过的年份
Set shp_year_select = Sheets(1).Shapes(“年份选择”)
shp_year_select.ControlFormat.RemoveAllItems
‘万年历的年份范围初步设定为“1900~2100”
For i = 1900 To 2100
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高级办公)、推广、点评哦!谢谢大家继续 下期第二中实现带农历的万年历设计!
十二星座每日运势
白羊座
爱情运势不错,恋人可能会突然出现给你一个惊喜哦!事业运势很好,确立工作目标很重要,能避免做无用功,效率会因此得到提升;财运好转,有关金钱事项会得到确认并执行。
综合运势:
爱情运势:
事业运势:
财富运势:
金牛座
爱情运势平平,伴侣间容易患得患失,要给对方带来安全感才行;事业运还算可以,有出现的可能,该做的需要主动去做,别拖拉对待了;财运一般,若是粗心大意的话会造成损失。
综合运势:
爱情运势:
事业运势:
财富运势:
双子座
爱情运势尚好,要有坚定的内心,让伴侣感受到你的信任很重要;事业运挺好,工作效率很高,即便工作量有所增加也能按时按量完成;财运还好,家庭开销会不少,但大多是必要开销。
综合运势:
爱情运势:
事业运势:
财富运势:
巨蟹座
爱情运势顺利,有不错的桃花运,单身者不要错过机会结识异性了;事业运好转,会得到外界的不少助力,但效率需要加强;财运还行,所积累的理财经验、心得会派上用场。
综合运势:
爱情运势:
事业运势:
财富运势:
狮子座
爱情运势回升,不要错过社交活动,结识人脉有望遇到心仪对象;事业运还行,懂得创新才会有好的突破,光是劳力付出是不够的;财运有起伏,风险不小,一不留神容易利益受损。
综合运势:
爱情运势:
事业运势:
财富运势:
处女座
爱情运势尚可,多些主动,让对方了解你的心意很重要;事业运良好,该决定的时候就不要犹豫了,有望提高你的职场地位;财运还行,会有机遇出现,但冲动行事的话会造成损失。
综合运势:
爱情运势:
事业运势:
财富运势:
天秤座
爱情运势好转,家庭问题的处理很有自己的,相处起来也会很;事业运平顺,会取得不错的进展,特别是有关合作沟通方面;财运一般,容易出现入不敷出的情况。
综合运势:
爱情运势:
事业运势:
财富运势:
天蝎座
感情运尚好,伴侣会尊重你的意见、决定,可自信表达;事业运较好,有不少工作想法有待落实,做好充足准备能提升成功率;财运得当,感受到经济压力的同时,能激发你的赚钱能力。
综合运势:
爱情运势:
事业运势:
财富运势:
射手座
爱情运势还好,你的魅力会得到散发,渴望爱情的同时也要谨慎对待;事业运还行,工作状态还不错,但容易被他人影响你的注意力;财运有所下滑,会感受到不小的投资风险,要注意了。
综合运势:
爱情运势:
事业运势:
财富运势:
摩羯座
爱情运势不错,伴侣间要懂得珍惜彼此在一起的时光;事业运普通,凡事要有自身判断,不要轻信他人,也不要妄自下定论;财运还不错,有赚钱想法就实施起来吧,成效会很显著。
综合运势:
爱情运势:
事业运势:
财富运势:
水瓶座
爱情运势平平,会容易因为朋友而冷落自己的恋人,你要合理分配好时间了;事业运还行,有出现的可能,做好自己该做的吧;财运下滑,虽然有额外进账,但支出容易超过预期。
综合运势:
爱情运势:
事业运势:
财富运势:
双鱼座
爱情运势一般,不要相互隐瞒对方事实,容易加剧彼此的不信任感;事业运挺好,学会主动出击,你的主动、判断能让你取得不错的业绩;财运还行,有付出就会取得收获。
综合运势:
爱情运势:
事业运势:
财富运势:
以上内容是小编关于金牛男和喜欢的女生说话是怎样的和金牛男对暗恋的人的小动作的分析和解答,如果你对文章有什么意见或者建议请在下面留言,我们将整理和分享给大家阅读。
上一篇:星座是怎样划分的?请解答一下 星座是怎么分的按什么分的
下一篇:更多十二星座
本文标题:金牛男和喜欢的女生说话是怎样的 金牛男对暗恋的人的小动作
本文链接:http://m.xingzuo789.com/article/29762.html
好的文章肯定人人都喜欢阅读,金牛男和喜欢的女生说话是怎样的给你解惑答疑,丰富的内容让...
好的文章肯定人人都喜欢阅读,星座是怎样划分的?请解答一下给你解惑答疑,丰富的内容让你...
好的文章肯定人人都喜欢阅读,水瓶女嫁给哪个星座的最多给你解惑答疑,丰富的内容让你更加...
好的文章肯定人人都喜欢阅读,十二星座最怕的是什么课?给你解惑答疑,丰富的内容让你更加...
好的文章肯定人人都喜欢阅读,最“天才”的三个星座给你解惑答疑,丰富的内容让你更加有只...
好的文章肯定人人都喜欢阅读,射手座人缘好,智商高,天蝎座比不过给你解惑答疑,丰富的内容...
好的文章肯定人人都喜欢阅读,天秤座女双子男如何聊天给你解惑答疑,丰富的内容让你更加有...
好的文章肯定人人都喜欢阅读,十二星座适合什么手机?给你解惑答疑,丰富的内容让你更加有...
好的文章肯定人人都喜欢阅读,12星座中哪个星座最漂亮?给你解惑答疑,丰富的内容让你更加...
好的文章肯定人人都喜欢阅读,12星座最喜欢吃什么零食视频给你解惑答疑,丰富的内容让你更...