Excel VBA日期函数

Excel VBA日期函数,excel,vba,Excel,Vba,我有一张Excel表格来监控付款。客户可以选择分期付款,如1、3、6和12个月付款 因此,如果客户今天付款。2016年10月5日为6个月,我点击付费按钮,下一个到期日增加6个月。IE 5/4/2017。当客户下次付款时,术语也会发生变化。1个月期限。他今天付钱。10月6日。我点击一个按钮,下一次付款将在1个月内更改。至12月6日。他在12月3个月内付款。我更改了期限并单击按钮,日期更改为3月6日至17日。然后他在3月支付3个月的费用——我点击,它会自动变为6月6日至17日 如何通过vba exc

我有一张Excel表格来监控付款。客户可以选择分期付款,如1、3、6和12个月付款

因此,如果客户今天付款。2016年10月5日为6个月,我点击付费按钮,下一个到期日增加6个月。IE 5/4/2017。当客户下次付款时,术语也会发生变化。1个月期限。他今天付钱。10月6日。我点击一个按钮,下一次付款将在1个月内更改。至12月6日。他在12月3个月内付款。我更改了期限并单击按钮,日期更改为3月6日至17日。然后他在3月支付3个月的费用——我点击,它会自动变为6月6日至17日


如何通过vba excel计算它?

这可以在没有vba的情况下使用公式轻松完成

首先,我建议您将文本值从“6个月”更改为数字。使用自定义格式
0\mo\nt\h
,可以轻松设置数字格式,并在数字后加上“月”一词。然后你可以使用这样的公式

=EDATE(B2,A2)
如果不想更改文本值,可以在公式中使用以下替代函数进行更改:

=EDATE(B2,SUBSTITUTE(A2," month","")+0)
从第2行开始,向下复制


如果在VBA中确实需要此功能,可以使用
Application.WorksheetFunction.EDate()
达到相同的效果。

Yes。当术语只有1个值时,这非常有用。TERM列中的每个单元格都有4个值,如列表或数组。所以当我改变列表公式中的值时,它就消失了。在你们的截图中,术语中的每个单元格只有一个值。如果这不是您想要做的,请编辑您的问题并提供您想要解决的所有场景的示例数据。