Vba 将天添加到特定日期
我有一个特定的日期,我想基本上做到以下几点:增加60天(不跳过周末或假日-因此基本上是Vba 将天添加到特定日期,vba,date,add,Vba,Date,Add,我有一个特定的日期,我想基本上做到以下几点:增加60天(不跳过周末或假日-因此基本上是日期+60),但是如果结果日期(开始日期后的第60天)恰好不是工作日(周末或假日),请将我带到下一个工作日(跳过周末和假日)。将60天添加到日期时,不会跳过任何周末或假日,但如果结果日期不是工作日,请将我带到下一个日期 例如:01/25/2016+60=03/25/2016,这是一个假期,所以请带我到下一个工作日(因为是星期五,它会在下一个星期一返回我,因为在这种情况下,星期一不是假期,如果是,我需要它检查星期
日期+60
),但是如果结果日期(开始日期后的第60天)恰好不是工作日(周末或假日),请将我带到下一个工作日(跳过周末和假日)。将60天添加到日期时,不会跳过任何周末或假日,但如果结果日期不是工作日,请将我带到下一个日期
例如:01/25/2016+60=03/25/2016,这是一个假期,所以请带我到下一个工作日(因为是星期五,它会在下一个星期一返回我,因为在这种情况下,星期一不是假期,如果是,我需要它检查星期二是否是假期,如果不是,则改为星期二返回我)
我该怎么做呢?我宁愿用公式而不是VBA来做,但是编程这绝对不是问题。你可以在60天后用公式轻松地做下一个工作日(周一-周五) 假设您的日期在A1,60天后的下一个工作日存储在B1,那么B1可以使用以下公式:
=A1+60+IF(WEEKDAY(A1+60,2)>5,8-WEEKDAY(A1+60,2),0)
除非你有一个公共假日的列表,否则当“下一个工作日”是公共假日时,你不能做很多事情
如果是这样,请添加IFERROR()
和VLOOKUP()
,但周一和周二仍有可能是公共假日(圣诞节可以这样做)。您将需要一个自定义项循环计算下一个工作日,直到它不是公共假日