ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
12
返回列表 发新帖
楼主: bgt1982

[已解决] 阳历获取农历的自定义函数不能取得2021年之后的结果

[复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-2-11 07:59 | 显示全部楼层
prome3 发表于 2024-2-10 23:33
代码出错的原因是定义的数组太小了。把下图中的 99 改为 199 试试看:

您分析得很对,原因就出在数组定义的大小,但这个代码默认就计算100年内的农历,就是把定义数组的大小改成199,虽然代码能运行,但2021年之后的农历计算结果却是错的。
感谢老师的帮助。

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-2-11 08:38 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
fzxba 发表于 2024-2-10 21:17
此帖巨牛
https://club.excelhome.net/thread-1281548-1-1.html

老师推荐的这个这个帖子确实强大,再次感谢!

TA的精华主题

TA的得分主题

发表于 2024-2-11 10:10 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

我刚刚又修改了一下,下这个附件。
可计算的日期范围:1921-2-7至2100-2-8
可计算的全年范围:1922全年-2099全年
另外,附加了从中华民国之后的朝代计算。
这个日期范围足够咱们这代人用了啊。

回复2:取得农历日期.rar

32.36 KB, 下载次数: 31

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-2-11 10:22 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
boyayes 发表于 2024-2-11 10:10
我刚刚又修改了一下,下这个附件。
可计算的日期范围:1921-2-7至2100-2-8
可计算的全年范围:1922全年 ...

功能比较强大,注释较为详细,适合初学者研究,再次感谢老师的帮助!

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-2-11 10:35 | 显示全部楼层
boyayes 发表于 2024-2-11 10:10
我刚刚又修改了一下,下这个附件。
可计算的日期范围:1921-2-7至2100-2-8
可计算的全年范围:1922全年 ...

有一点很好奇,想请教下老师,每年的农历数据的数组tempArr是怎么算出来的?

TA的精华主题

TA的得分主题

发表于 2024-2-11 11:15 | 显示全部楼层
bgt1982 发表于 2024-2-11 10:35
有一点很好奇,想请教下老师,每年的农历数据的数组tempArr是怎么算出来的?

关于这个农历数据的数组,你就用现成的就好了,对于黄经度数朔望周期等不懂的人来说,是有点挠头哩。

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-2-11 11:18 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
boyayes 发表于 2024-2-11 11:15
关于这个农历数据的数组,你就用现成的就好了,对于黄经度数朔望周期等不懂的人来说,是有点挠头哩。

明白了老师,至少大致了解了一些情况,这就够了!

TA的精华主题

TA的得分主题

发表于 2024-2-11 11:55 | 显示全部楼层
="今天是"&TEXT(NOW(),"yyyy年mm月dd日aaaahh:mm:ss ")&MID("甲乙丙丁戊己庚辛壬癸",MOD(TEXT(NOW(),"[$-130000]e")-4,10)+1,1)&MID("子丑寅卯辰巳午未申酉戌亥",MOD(TEXT(NOW(),"[$-130000]e")-4,12)+1,1)&"年"&IF(OR(TEXT(NOW()," [$-130000]m")*1=12,TEXT(NOW()," [$-130000]m")*1=13),"腊",IF(TEXT(NOW()," [$-130000]m")*1=1,"正",TEXT(NOW()," [$-130000][DBNum1]m")))&"月"&IF(TEXT(NOW()," [$-130000]d")-9<=1,"初",IF(TEXT(NOW()," [$-130000]d")-29>=1,"卅",IF(TEXT(NOW()," [$-130000]d")-19>=1,"廿","十")))&IF(RIGHT(TEXT(NOW()," [$-130000]d"),1)*1=0,"",TEXT(RIGHT(TEXT(NOW()," [$-130000]d"),1)*1,"[DBNum1]d"))&" 祝大家工作愉快!"

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-2-11 12:07 | 显示全部楼层
本帖最后由 bgt1982 于 2024-2-11 12:30 编辑
wcj6376tcp 发表于 2024-2-11 11:55
="今天是"&TEXT(NOW(),"yyyy年mm月dd日aaaahh:mm:ss ")&MID("甲乙丙丁戊己庚辛壬癸",MOD(TEXT(NOW(),"[$-13 ...

这个公式有局限性的,今天的数据也不是完全正确的,切换到2023年,数据就有很多问题了。

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-2-11 12:10 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
高个子 发表于 2024-2-10 22:16
能转换的最大日期是2021/2/11,为啥会报错看不出原因

有幸又见老师关注,老师的强项是函数。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-18 21:27 , Processed in 0.041500 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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