使用数组长度和格式化日期生成序列

时间:2015-07-16 14:42:36

标签: excel vba excel-vba

以下是我正在使用的代码

With ThisWorkbook.Worksheets(currentsheet)
   lastrow = .Cells(.Rows.count, 2).End(xlUp).Row
   .Range("A1").Offset(lastrow).Resize(UBound(Dates).Value = Application.Transpose(Sequence)
   .Range("A1").Offset(lastrow, 1).Resize(UBound(Dates).Value = Application.Transpose(Dates)
End With      

在上面的代码中,Dates是一个随机日期数组,我想把它转储到它所做的第2列。在第一列中,我需要序列,更多的是期间类型的事情,每次从1开始并以日期的长度结束阵列。

例如

Period    Date
  1      10/15/2000
  2      10/17/2000
  3      10/20/2000
  4      10/25/2000

在上面的例子中,Dates数组的长度是4,因此周期从1开始到4结束,就像给出序列号一样简单。我可以使用LEN或BOUNDS获取数组的长度,但我对如何生成从1到数组长度的序列感到困惑。 此外,我的日期不是串行格式,如 20150716 所以我尝试使用

进行格式化
DateSerial(Left(Dates(1), 4), Mid(Dates(i), 5, 2), Right(Dates(i), 2))
Cells(range).NumberFormat = "mm/dd/yyyy"

但它只是一次做一个,而我需要tpo一次转储整个数组,并需要在转置它之前转换整个数组。任何人都可以建议一个能完成这项工作的功能或想法吗?提前谢谢。

0 个答案:

没有答案