Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 3178|回复: 6

农历生日转公历生日VBA使用方法

[复制链接]
发表于 2015-5-23 12:07 | 显示全部楼层 |阅读模式
求助啊!希望高手们帮忙编辑下我这个表格,我想在Sheet1工作表中农历生日利用VBA方式转换成公历生日

office待导入文件.zip (170.98 KB, 下载次数: 18)
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2015-5-23 15:32 | 显示全部楼层
这个好像有点难哦,关键是农历转换成公历的计算复杂,好像是农历19年7闰,公历4年1闰;还不对应,循环的公约数是76年吧,有点难哦!
回复

使用道具 举报

 楼主| 发表于 2015-5-26 15:07 | 显示全部楼层
lyjlyg06 发表于 2015-5-23 15:32
这个好像有点难哦,关键是农历转换成公历的计算复杂,好像是农历19年7闰,公历4年1闰;还不对应,循环的公约 ...

原来如此复杂啊 愁死人了  我看了老多模版了
回复

使用道具 举报

发表于 2015-5-26 16:25 | 显示全部楼层
请见附件。

office待导入文件.rar

179.72 KB, 下载次数: 72

回复

使用道具 举报

发表于 2015-5-27 08:21 | 显示全部楼层
版主的文件一定解决了这个问题!恭喜啊!也谢谢版主
回复

使用道具 举报

发表于 2022-3-31 22:11 | 显示全部楼层

遇到同样问题,版主的代码没经过测试啊,生日公历怎么会小于农历呢?
回复

使用道具 举报

发表于 2022-4-2 17:32 | 显示全部楼层
liyuhua118 发表于 2022-3-31 22:11
遇到同样问题,版主的代码没经过测试啊,生日公历怎么会小于农历呢?

这位网友,您好!
关于公、农历互转的问题,我在这里简单发表一下我的看法。
首先,用VBA实现公转农、农转公都是可行的,网上有现成的代码和算法,借来“参考”一下,是很简单的事。
但是,在使用上会有一定的难度,难就难在农历的表达形式上。
众所周知,公历是世界通用的。
公历在各种系统、各种软件里,同一日期,尽管表达形式有所不同,但软件识别的最终结果都是相同的。
就像2022年4月2日、2022-04-02、2022-4-2、22-4-2、4-2、2022/4/2……不论怎么写,系统都会将其识别为同一日期。
但农历就不一样了,
就像壬寅年三月初二、二零二二年三月初二、2022-3-2,程序是很难将它们理解为同一(农历)日期的。
因此,对于公转农,比较简单,只要你给出一个公历日期,代码要转换成农历都不难,只是最后转出来的农历是什么形式,那就得看代码里的具体设置了。
但农转公就比较麻烦了。
大家也知道,要代码来识别什么壬寅年、三月、闰三月、腊月、冬月、初二、廿三等等,并非不可行,只是有点难度。
但识别是转换的前提,只有正确识别了才能进行转换,因此是绕不过去的。
为了降低识别上的难度,我所见过的农转公代码,都是要求农历写成“2020-4-1”才能转换的。
而至于碰到闰月的情况,有的要求写成“2020-闰4-1”,又有的要求写成“2020-4-1-L”才能转换。
但问题是,我的原始数据可能并不符合上述要求,所以往往会出现“代码找到了,却转换不成功(或无法使用)”的尴尬。
总的来说,公转农容易,农转公虽可以,但有些难度。这就是我想表达的看法。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-3 19:18 , Processed in 0.187444 second(s), 13 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表