给定年份填充一列,其日期从1月1日到12月31日

时间:2018-09-07 11:34:10

标签: excel vba excel-vba

我想用vba编写代码,在工作表的一栏中填充特定年份的日期。
应根据用户提供的年份来填充日期。假设我已经在B1单元格中输入了年份(截至2020年),因此在A列中应填充366个日期条目(考虑到leap年)。
我不需要事件宏,如果它在我按下按钮时生成日期,那么它也将对我有用。

1 个答案:

答案 0 :(得分:2)

您可以循环使用Date变量:

Sub dater()
    Dim yr As Long, d As Date, i As Long
    yr = Range("B1").Value
    For d = DateSerial(yr, 1, 1) To DateSerial(yr, 12, 31)
        i = i + 1
        Cells(i, 1) = d
    Next d
End Sub

这将自动处理leap年,并根据需要填充366或365个单元格。

(格式化列 A 以满足您的需求)