我想写一个Excel的Vba,允许我每8行写一次从2023年1月开始到2023年12月底的日期(格式dd,mm,yyyy),不包括所有星期的星期日。如果我想减少唯一的行的距离,那就把星期六和星期一分开,我该怎么做?附上一个Example
到目前为止,我写了这个例程,写一年中的每一天,但它也考虑到星期天和8行的距离从星期六到星期一,我想减少到3行,如前所述。谢谢
Sub Datesoftheyear()
Dim currentDate As Date
Dim endYear As Date
currentDate = Date
endYear = DateSerial(Year(Now()), 12, 31)
For i = 1 To X Step 8
Cells(i, 1).Value = Format(currentDate, "dd-mm-yyyy")
currentDate = DateAdd("d", 1, currentDate)
If currentDate > endYear Then Exit For
Next i
End Sub
3条答案
按热度按时间np8igboo1#
您可以使用Weekday函数或将DatePart函数与
Interval:="w"
配合使用来确定日期是否为Sunday然后,在循环中,可以测试
currentDate
是否为星期天,如果是,则向前推进一天。ogq8wdun2#
您可以使用此代码。
activesheet.cells(1,1)
-您可能需要调整它gkl3eglg3#