vba中有没有办法填充范围,直到达到某个值?
例如,我希望用从单元格B1中的值开始的日期填充A列(比如2014年1月1日),直到它达到单元格C1中的值(比如2014年1月15日),步进一天
请问这可能吗?
谢谢你。
答案 0 :(得分:1)
这是我的命题,只需将日期放在B1和C1单元格中,然后运行“日期”宏。
Sub Dates()
Dim startdate As Date
Dim enddate As Date
Dim row As Double
startdate = Range("B1").Value
enddate = Range("C1").Value
row = 0
Range("A1").Select
Do Until DateAdd("d", 1, startdate) = enddate + 1
ActiveCell.Offset(row, 0).Value = DateAdd("d", 1, startdate)
startdate = startdate + 1
row = row + 1
Loop
End Sub
答案 1 :(得分:0)
怎么样:
Sub DateFiller()
For i = 2 To Rows.Count
Cells(i, 1).Value = Cells(i - 1, 1).Value + 1
If Cells(i, 1).Value = Cells(1, 2).Value Then Exit Sub
Next i
End Sub
修改#1:强>
此版本符合请求:
Sub DateFiller()
Cells(1, 1).Value = Cells(1, 2).Value
For i = 2 To Rows.Count
Cells(i, 1).Value = Cells(i - 1, 1).Value + 1
If Cells(i, 1).Value = Cells(1, 3).Value Then Exit Sub
Next i
End Sub