我想知道是否有办法使用vba或excel从2010年10月10日开始到2015年9月30日结束每天的数组。不幸的是,日期必须采用YYYYMMDD格式,例如20091001和20150930。
感谢您的帮助
答案 0 :(得分:3)
对于非VBA解决方案,KingsInnerSoul的解决方案非常好。 对于VBA,你可以这样做:
Sub tgr()
Dim arrDates() As Variant
Dim dtStart As Date
Dim dtEnd As Date
'Assign start and end dates
dtStart = CDate("Oct 10, 2010")
dtEnd = CDate("Sep 30, 2015")
'Create the array by evaluating an Index formula
arrDates = Application.Transpose(Evaluate("INDEX(TEXT(""" & dtStart & """+ROW(1:" & dtEnd - dtStart + 1 & ")-1,""YYYYMMDD""),)"))
'Example of how to access the array values
MsgBox arrDates(1) & Chr(10) & _
arrDates(2) & Chr(10) & _
arrDates(3)
'You could iterate over the array with a loop also,
'or use any other array function, like Filter(), etc
End Sub
答案 1 :(得分:1)
在Excel中创建一个列表:
10/10/2010
Format Cells
,Custom
类别Type
输入区域类型yyyymmdd
中 - 验证Sample
字段中的格式是否正确(我将其设置为yyyymmdd;@
)OK
+
。 +
并根据需要将其向下拖动多行 - 它将复制单元格内容并创建一个系列,每个单元格添加一天。 在Word中创建单行列表:
,
(逗号),然后以相同方式向下拖动它,以便将其复制到整个系列旁边。 Paste Options
。 Paste Options
图标,然后选择“仅保留文字”#39; - 这是' A'图标。现在,您将拥有一个包含数字,制表符,逗号和Enter字符的文本列。 Search and Replace
打开CTRL+H
。 ^p
- 它是Enter
的代码。 OK
确认总替换次数弹出窗口。 Tab
字符,请重复步骤6-10,但搜索并替换^w
。 More有关特殊字符的信息。
相关问题:
VBA convert range to array and format date
excel vba filling array
VBA Excel - Problems with a simple macro to auto-fill cells for a budgeting spreadsheet I'm attempting to make
Fill two columns with random dates
How to force Excel to automatically fill prior year in column instead of current year?
Fill dates array and add dummy variables
https://stackoverflow.com/questions/25277464/fill-dates-gap-in-excel
答案 2 :(得分:0)
为了图像,在说A1和HOME>中添加2010年10月10日(格式化yyyymmdd)。编辑, - 填充:,系列......
表示列(或连续更改系列)。