填充范围,直到达到某个值

时间:2014-03-23 14:47:41

标签: excel-vba vba excel

vba中有没有办法填充范围,直到达到某个值?

例如,我希望用从单元格B1中的值开始的日期填充A列(比如2014年1月1日),直到它达到单元格C1中的值(比如2014年1月15日),步进一天

请问这可能吗?

谢谢你。

2 个答案:

答案 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