填写中间的date知道开始和结束的date

我想这可以在其他语言中完成,但我必须使用VBA,我是新手。

在sheet1中有两个列表selectdate(全部是月末)。 一旦被选中,他们就是开始和结束date。 开始date将被复制到工作表2的A1。我希望有一种方法来dynamic填充列A的行直到结束date。 任何方式,无论是通过VBA或Excel公式来做到这一点? 谢谢!

在这里输入图像说明

在Sheet1!B1中使用startdate的VBA中,在Sheet1!B2中使用enddate,

With Worksheets("sheet2").Columns("A") .Cells.Clear .Cells(1) = Worksheets("sheet1").Cells(1, "B").Value2 .DataSeries Rowcol:=xlColumns, Type:=xlChronological, Date:=xlDay, _ Step:=IIf(Worksheets("sheet1").Cells(2, "B").Value2 > Worksheets("sheet1").Cells(1, "B").Value2, 1, -1), _ Stop:=Worksheets("sheet1").Cells(2, "B").Value2 Intersect(.Cells, .Cells.Parent.UsedRange).NumberFormat = "m/d/yyyy" End With 

你可以做到这一点,没有VBA,使用助手列。 在您有新的date列表的新电子表格中,将该公式放在其旁边。 为了便于使用,我已经命名了一个可以使用的单元格startDateendDate

 =IF(AND(A5>=startDate,A5<=endDate),A5,"") 

在列A是所有date的情况下,公式在列B中。date随着时间的调整而出现/消失。

在这里输入图像说明

编辑:正如@ScottHoltzman敏锐地指出,你实际上可以跳过使用帮手列。 在A5中, =startDate然后在A6把这个填充下来: = IF(A5+1<=endDate,A5+1,"")