Excel精英培训网

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

[已解决]根据出生年月来提取年龄能否用VBA来提取,因为函数跨年会变。谢谢

[复制链接]
发表于 2014-1-13 15:01 | 显示全部楼层 |阅读模式
本帖最后由 qinhuan66 于 2014-1-13 15:55 编辑

根据出生年月来提取年龄能否用VBA来提取,因为函数跨年会变。谢谢
求助.rar (14.69 KB, 下载次数: 15)
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2014-1-13 15:21 | 显示全部楼层
加一个辅助单元格  输入你要计算的日期 譬如P1
=IF(M4="","",DATEDIF(M4,P1,"y")&"岁")

评分

参与人数 1 +3 收起 理由
qinhuan66 + 3 赞一个!

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2014-1-13 15:23 | 显示全部楼层
QLZ0602 发表于 2014-1-13 15:21
加一个辅助单元格  输入你要计算的日期 譬如P1
=IF(M4="","",DATEDIF(M4,P1,"y")&"岁")

谢谢你。这个的话我也过了。我就是度想VBA能否实现。谢谢
回复

使用道具 举报

发表于 2014-1-13 15:35 | 显示全部楼层
Private Sub Workbook_Open()
    Dim age As Integer
    Sheet2.Select
    age = (Now - [m4]) / 365
    [o4] = age & "岁"
End Sub
求助2.rar (16.66 KB, 下载次数: 5)

评分

参与人数 1 +3 收起 理由
qinhuan66 + 3 很给力!

查看全部评分

回复

使用道具 举报

发表于 2014-1-13 15:36 | 显示全部楼层
本帖最后由 风林火山 于 2014-1-13 15:39 编辑

在模块中插入一句代码:如图



QQ图片20140113153654.jpg

年龄计算.zip

19.16 KB, 下载次数: 4

点评

我咋想的,除以365,郁闷。。。  发表于 2014-1-13 15:46

评分

参与人数 1 +3 收起 理由
qinhuan66 + 3 赞一个!

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2014-1-13 15:45 | 显示全部楼层
爱疯 发表于 2014-1-13 15:35
Private Sub Workbook_Open()
    Dim age As Integer
    Sheet2.Select

你好版主:能否直接写在本工作表内,当M4输入日期时即触发。谢谢
回复

使用道具 举报

发表于 2014-1-13 15:53 | 显示全部楼层    本楼为最佳答案   
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim age As Integer
    If Target.Address = "$M$4" Then
        age = (Now - [m4]) / 365
        [o4] = age & "岁"
    End If
End Sub

评分

参与人数 1 +3 收起 理由
qinhuan66 + 3 很给力!谢谢我版主

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-26 23:59 , Processed in 0.267621 second(s), 16 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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