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

问题描述 投票:1回答:1

你能否告诉我如何重构我的代码。目前我正在D列的底部添加日期-1(每天)。但是,当它是星期一时,我需要将日期-3,日期-2和日期-1添加到列D的底部。

这是我目前的代码:

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声明?但话说再说一遍,我猜它也需要一个循环。

谢谢

vba excel-vba
1个回答
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”,那么你就可以运行你想要的东西了。我不确定这是否正是你的目标,但这将放置三个不同的日期值,从星期五开始到周日结束。

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

© www.soinside.com 2019 - 2024. All rights reserved.