你能否告诉我如何重构我的代码。目前我正在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声明?但话说再说一遍,我猜它也需要一个循环。
谢谢
在你的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”,那么你就可以运行你想要的东西了。我不确定这是否正是你的目标,但这将放置三个不同的日期值,从星期五开始到周日结束。
可能不是最好的解决方案,但这是我对这个问题的理解。如果我离开,请告诉我,我会调整我的答案。