Excel精英培训网

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

[已解决]这个VBA程序,如何把生日改成只年份相减?

[复制链接]
发表于 2013-12-6 16:54 | 显示全部楼层 |阅读模式
本帖最后由 yiting1 于 2013-12-13 10:54 编辑

RT,附件中的VBA程序,如何能改成只年份相减,不用管月份的格式? 比如有个人是1988-05生的,计算岁数只计算
2013-1988=25,不用管几月。


最佳答案
2013-12-10 19:02

shu = Int(2013.08 - Val(Replace(Db(i), "-", ".")))
改成
shu = 2013 - Split(Db(i), "-")(0)
保险起见,可以写成shu = 2013 - val(Split(Db(i), "-")(0))

汇总(1).rar

23.2 KB, 下载次数: 4

发表于 2013-12-7 09:44 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2013-12-10 11:05 | 显示全部楼层
hwc2ycy 发表于 2013-12-7 09:44
传个附件比较好。

已传附件
回复

使用道具 举报

发表于 2013-12-10 19:02 | 显示全部楼层    本楼为最佳答案   

shu = Int(2013.08 - Val(Replace(Db(i), "-", ".")))
改成
shu = 2013 - Split(Db(i), "-")(0)
保险起见,可以写成shu = 2013 - val(Split(Db(i), "-")(0))
回复

使用道具 举报

 楼主| 发表于 2013-12-11 09:34 | 显示全部楼层
hwc2ycy 发表于 2013-12-10 19:02

shu = Int(2013.08 - Val(Replace(Db(i), "-", ".")))
改成

请教下,原来的程序中的replace是起的什么作用呢?
回复

使用道具 举报

发表于 2013-12-11 11:17 | 显示全部楼层
yiting1 发表于 2013-12-11 09:34
请教下,原来的程序中的replace是起的什么作用呢?

replace是替换呀。
比如1965-02y就成了1965.02了。

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-16 15:15 , Processed in 1.149323 second(s), 13 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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