如何在Excel 2013的列中的每个日期字段中添加一个月

时间:2014-02-01 07:12:57

标签: excel excel-vba excel-2013 vba

我有一列包含不同日期的日期字段。我想在每个日期添加1个月。

所以如果我的列/行是以下

A3: 1/2/2014
A4: 1/4/2014
A5: 1/10/2014
A6: 1/15/2014

无论我运行什么样的公式或方法,都会将所有内容都改为

A3: 2/2/2014
A4: 2/4/2014
A5: 2/10/2014
A6: 2/15/2014

3 个答案:

答案 0 :(得分:4)

您可以使用EDATE功能,该功能会在给定日期添加若干个月。

EDATE(A1, 1)

将在单元格A1中添加一个月的日期。

答案 1 :(得分:2)

  

但这不会做我需要做的事情。我想更新现有单元格以增加每个单元格的日期。我更新了我的问题(希望)让它更清楚。 - Scott 33分钟前

根据删除的答案(Jerry)下的评论(因为我仍然可以看到它们:p ),我想你想要使用VBA。如果是这种情况,请查看此内容。您需要使用DateAdd()

如果您查看Excel的帮助,DateAdd将返回一个Variant(日期),其中包含已添加指定时间间隔的日期。

<强>语法

DateAdd(间隔,数字,日期)

interval参数具有以下设置:

Setting Description
yyyy    Year
q       Quarter
m       Month
y       Day of year
d       Day
w       Weekday
ww      Week
h       Hour
n       Minute
s       Second

将其粘贴到模块中。

Sub Sample()
    Dim ws As Worksheet
    Dim lRow As Long, i As Long

    '~~> Change this to the relevant sheet
    Set ws = ThisWorkbook.Sheets("Sheet1")

    With ws
        lRow = .Range("A" & .Rows.Count).End(xlUp).Row

        For i = 3 To lRow
            .Range("A" & i).Value = DateAdd("m", 1, .Range("A" & i).Value)
        Next i
    End With
End Sub

答案 2 :(得分:1)

由于在您的示例中所有日期都是1月份,因此应该可以:在某个单元格中输入31并复制。选择您的日期和选择性粘贴...添加。简单但很大的缺点是,这只适用于一年中的7个月!