如果是星期一,则添加x y z

时间:2018-10-02 13:39:45

标签: vba excel-vba

能否请您建议如何重组我的代码。目前,我在D列的底部(每天)添加一个日期-1。但是,在星期一的时候,我需要在D列的底部添加日期-3,然后添加日期-2,然后添加日期-1。

这是我当前的代码:

y.Activate
With y1
Dim d As Long
d = Cells(Rows.Count, "D").End(xlUp).Row + 1 'there was an error in the code, I have changed the N to d
Cells(d, "D").Value = Date - 1
End With

我的假设是IIf陈述?但是话又说回来,它也需要循环。

谢谢

1 个答案:

答案 0 :(得分:2)

在您的Cells(d, "D").Value = Date - 1行之前,输入:

If Weekday(Now()) = 2 Then
    Cells(d, "D").Value = Date - 3
    Cells(d + 1, "D").Value = Date - 2
    Cells(d + 2, "D").Value = Date - 1
Else
    Cells(d, "D").Value = Date - 1
End If

If Weekday(Now())将比较星期几(我相信默认情况下1是星期日)。因此,通过检查它是否为“ 2”,便可以运行所需的内容。我不确定这是否正是您要的目的,但是它将放置三个不同的日期值,从星期五开始,到星期日结束。

可能不是最好的解决方案,但这是我对问题的理解。如果我不在,请告诉我,我会调整答案。