连续多个date

我正在创build一个在一个月内input每个date的十个实例的macros。 我已经把它交给了date,但是他们只是在前十个单元格中互相粘贴。

我需要什么(但十个,而不是三个):

3/1/2013 3/1/2013 3/1/2013 3/2/2013 3/2/2013 3/2/2013 3/3/2013 3/3/2013 3/3/2013 

代码我有:

 Sub Macro1() Dim v&, MyDate As Date, Cell As Range For i = DateValue("3/01/2013") To DateValue("3/31/2013") Set Cell = [A1] For v = 0 To 9 ' 9 means 10 cells Cell.Offset(v, 0).Value = i Next v Next i End Sub 

任何我需要在代码中使用的build议?

 Sub Macro1() Dim v&, MyDate As Date, Cell As Range Range("A1").Select Set Cell = [A1] For i = DateValue("3/01/2013") To DateValue("3/31/2013") For v = 0 To 9 ActiveCell.Value = i ActiveCell.Offset(1, 0).Select Next v Next i End Sub 

虽然1/3/13和31/3/13对我来说效果更好。

你的Set Cell = [A1]位于For循环的外部。

不需要循环。

 Sub test() Range("A1") = #3/1/2013# Range("A1:A10").DataSeries End Sub 

评论后更新

 Sub test() Range("A1") = #3/1/2013# For i = 1 To 31 lastRow = Range("A" & Rows.Count).End(xlUp).Row + 1 If i = 1 Then Range("A1:A" & i * 10) = DateAdd("d", i - 1, #3/1/2013#) Else Range("A" & lastRow & ":A" & i * 10) = DateAdd("d", i - 1, #3/1/2013#) End If Next End Sub 

这已经得到了答复,但仅仅因为它有点不同:

  Range("A1:A310").Formula = "=DATE(2013,3,1)+INT(ROW()/10.01)" Range("A1:A310").Copy Range("A1").PasteSpecial xlPasteValues Application.CutCopyMode = False 

它甚至可以一步完成(感谢我的同事Hans的一些帮助):

 Range("A1:A310").Value = Evaluate("=INDEX(DATE(2013,3,1)+INT(ROW(A1:A310)/10.01),0)")