我正在创建一个Excel模板,并希望自动填充表格中的日期。
在它们之上是一行,其中包含的日期用EX编写。 2014年10月1日至2014年10月31日。
我希望在输入这些日期时填写表格中的日期。
我需要制作两个单元格,一个开始日期和一个结束日期吗?
我需要使用哪种配方?
答案 0 :(得分:0)
选择包含由短划线分隔的日期对的单元格并运行此小宏:
Sub DateMaker()
Dim v As String, d1 As Date, d2 As Date, i As Long
v = ActiveCell.Text
ary = Split(v, "-")
d1 = DateValue(Trim(ary(0)))
d2 = DateValue(Trim(ary(1)))
Set r = ActiveCell.Offset(1, 0)
For i = 1 To Rows.Count
r.Value = d1
d1 = d1 + 1
If d1 > d2 Then Exit Sub
Set r = r.Offset(1, 0)
Next i
End Sub
答案 1 :(得分:0)
如果您可以在不使用表的情况下管理,请尝试使用:
选择整个条目范围(日期将在以后居住的空白单元格)并插入此公式:
=LEFT($L$3;8)+(ROW()-n)
这里,n =第一个条目的行号,L3个单元格包含日期范围。
粘贴上面的公式后,按CTRL + SHIFT + ENTER使其成为数组公式。
或者,您可以遵循上一个答案中建议的宏(代码)方式。
答案 2 :(得分:0)
2个单元格最简单 - 然后您可以CONCATENATE
为它们显示您想要的效果,并隐藏开始和结束列
在第一个(开始)单元格中,输入您的开始日期
对于结束日期,请使用=EOMONTH([@Start],0)
第2个月使用=DATE(YEAR(A2),MONTH(A2)+1,1)
或=B2+1
作为开始日期,并将=EOMONTH([@Start],0)
作为结束日期。然后,当您种植表格时,该表格将自动填充每个月的开始日期和结束日期。