欢迎登陆真网站,您的到来是我们的荣幸。 登陆 注册 忘记密码? ☆设为首页 △加入收藏
欢迎加入真幸福QQ群
电脑知识: 基础知识 网络技术 操作系统 办公软件 电脑维修 电脑安全 windows7 windows8 windows10 服务器教程 平板电脑 视频播放教程 网络应用 互联网 工具软件 浏览器教程 QQ技巧 输入法教程 影视制作 YY教程 wps教程 word教程 Excel教程 PowerPoint
云南西双版纳特产小花糯玉米真空包装


使用RATE函数计算月利率和年利率的方法
Excel计算所占比例的方法
Excel截取中文的综合函数应用举例
EXCEL隐含模块中的编译错误:设表格式
Excel向左向右向上向下自动填充公式
Excel中如何设置鼠标经过时显示图片
Excel使用MID函数将非日期数据转换成标准日期
没有网络的时候如何查看百度云里的文件?
怎样使用excel计算工龄
Excel中合并单元格的快捷键方法
excel计算年龄准确到几岁几月几天
【 来源:网络 】【 点击:1 】 【 发布时间:2017_03_03 08:59:59 】

  一、符合如下的条件

  1岁以上写岁

  1月以上写月,

  不足月写天。

  二、宏代码

  Function GetDateDiff(StartD, EndD)

  Dim y%, m%, d%

  If StartD > EndD Or Not IsDate(StartD) Or Not IsDate(EndD) Then GetDateDiff = "数据有误"

  y = DateDiff("yyyy", StartD, EndD)

  If DateSerial(Year(EndD), Month(StartD), Day(StartD)) > EndD Then

  y = y - 1

  If y >= 1 Then GoTo 100

  m = 12 - Month(StartD) + Month(EndD)

  Else

  m = Month(EndD) - Month(StartD)

  End If

  If Day(EndD) >= Day(StartD) Or Day(EndD) = Day(DateSerial(Year(EndD), Month(EndD) + 1, 0)) Then

  If Day(EndD) >= Day(StartD) Then d = Day(EndD) - Day(StartD)

  If Day(EndD) < Day(StartD) And Day(EndD) = Day(DateSerial(Year(EndD), Month(EndD) + 1, 0)) Then d = Day  (DateSerial(Year(StartD), Month(StartD) + 1, 0)) - Day(StartD)

  Else

  m = m - 1

  d = Day(DateSerial(Year(StartD), Month(StartD) + 1, 0)) - Day(StartD) + Day(EndD)

  End If

  If m >= 1 Then d = 0

  100: GetDateDiff = IIf(y > 0, y & "岁", IIf(m > 0, m & "月", d & "天"))

  End Function

  Sub Get年月日()

  Dim arr1, arr2()

  arr = Sheet1.Range("a2:b" & Sheet1.Range("A65536").End(xlUp).Row)

  ReDim arr2(1 To UBound(arr), 1 To 1)

  For i = 1 To UBound(arr)

  arr2(i, 1) = GetDateDiff(arr(i, 1), arr(i, 2))

  Next i

  Sheet1.Range("C2:c" & Sheet1.Range("A65536").End(xlUp).Row) = arr2

  End Sub

  以上代码是宏代码,在模块中使用。

本网站由川南居提供技术支持,fkzxf版权所有 浙ICP备12031891号
淳安分站 淳安分站