罗汉松

注册

 

发新话题 回复该主题

ExcelVBA之日期篇44合同到期时 [复制链接]

1#

前景提要

今天我们继续来分享一些日期方面的问题,今天公司的HR过来找我,向我请教有没有什么好的方法能够快速的计算出合同到期的时间,他说之前我虽然分享过一篇关于计算员工在职时间方面的文章,他也看过,但是他觉得并不适合他的工作场景,因为那个只能计算两个时间之间差距,现在他反而是有了合同的时效,然后希望我计算出合同到期的时间,这样她才可以方便的统计人员,通知相关人员做好工作交接和相关的结算工作

方法分析

我稍微想了下就有答案了,其实这样并不算是很难,可以说是非常的简单的,依然是借助我们VBA中的一个日期函数EDATE,这个方法的作用就是获得去多少个月份之后的日期,和之前我们学过的datediff有几分相似,但是他的功能没有datedifdd那么强大,因为它只能够计算出月份,不能计算出天数,年数,季度,因为功能少了很多,所以他的方法结构也少了很多,EDATE(start_date,months)就是他的语法组成,start_date:毫无疑问代表开始的那个日期,months:表示start_date之前或之后的月份数,有了方法,我们就可以开工了。

场景模拟

假设我们现在手上有这样一份数据表,涵盖了当前临时招聘过来的所有的临时员工的入职情况,

现在我们已经有了合同的有效期时长,因为岗位的不同,这些临时员工的合同期限也是不同的,我们现在来计算每个员工的合同到期时间,方便我们的HR进行工作的安排。

Subtest()

Dimi

Fori=6To17

Cells(i,5)=WorksheetFunction.EDate(Cells(i,3),Cells(i,4))

Nexti

EndSub

来看看效果

成功的计算出了每个员工的合同到期时间,完美的达到了我们的要求。

总结

今天分享的知识点也是比较简单,就一个非常简单的方法,EDATE方法,他能够帮助我们轻松的计算出多少个月之前或者之后的日期,大家只需要记住固定的搭配和格式就好,具体的使用场景大家也可以继续摸索下,今天时间有点仓促,写的有点捉急,请大家谅解。

分享 转发
TOP
发新话题 回复该主题