自动减少一年的月份

时间:2013-06-04 13:06:13

标签: excel vba excel-vba

我想要一张看起来像这样的表:

enter image description here

现在它本身并不是很复杂但是我想excel自动递减月份列,以便每个月,0位的月份是当前月份,其余月份向下移动一个位置。那么当假设一个月到达第18位时,它会被从表中移除? 这有意义吗?

4 个答案:

答案 0 :(得分:4)

你可以简单地用公式做到这一点。对于第一个日期,在B2

中使用此公式

=EOMONTH(TODAY(),-1)+1

现在在B3中使用此公式复制

=EDATE(B2,-1)

将所有日期自定义格式为mmm-yyyy

日期将在每个月的第一天自动更新 - 基础日期值是每个月的第一天,但​​它只会显示月份和年份

答案 1 :(得分:2)

这将为您提供18个月前的月份。然后,您可以创建一个宏,将其复制并具有月份增量。

MyMonth = DateAdd("m", -18, Date)

这与您的需求类似:

Selection.Copy
Application.CutCopyMode = False
Selection.AutoFill Destination:=Range("A2:A20"), Type:=xlFillDefault
Range("A2:A20").Select

答案 2 :(得分:1)

这就是我所做的:

= DATE(YEAR(NOW()), MONTH(NOW())-O599, 1)

O599是以0开头的Number列的位置。因此,当我们向下看表时,它会从当前月份中减去Number列中指示的数字!

enter image description here

答案 3 :(得分:1)

工作表布局:

A2:A20:蛾的数量(0..18)
B2:=EDATE(NOW();-A2)
单元格格式:mmm-yyyy(或根据需要的其他内容)

将公式复制下来。