Excel VBA宏:自动填充日期到下一个(右)单元格

时间:2018-11-07 20:37:34

标签: excel vba

我有一行(例如第2行),其中包含这16个值(A-P):

1/1/11 , 1/2/11 , 1/3/11 , 1/4/11 ... ... ... 1/2/12 , 1/3/12 , 1/4/12

是否可以创建一个宏,当单击该宏时,将使用1/5/12自动填充其右侧的单元格(Q2)。当再次单击时,它将用1/6/12自动填充下一个单元格(R2),依此类推?

我尝试搜索与自动填充有关的所有内容,但宏一次仅适用于一个数组,而不适用于下一个空单元格。感谢并感谢您提供的任何帮助!

2 个答案:

答案 0 :(得分:0)

将此分配给您的按钮。只需将代码中的“ 2”更改为您所在的行即可。

Sub autoFillNextCellDate()
    Dim LastCol, currentRow As Integer
    currentRow = 2 'change to whatever row you want to work with
    With ActiveSheet
        LastCol = .Cells(currentRow , .Columns.Count).End(xlToLeft).Column
    End With

    Cells(currentRow , LastCol).AutoFill Destination:=Range(Cells(currentRow , LastCol), Cells(currentRow , LastCol).Offset(0, 1)), Type:=xlFillDefault
End Sub

答案 1 :(得分:0)

将此宏分配给您的按钮:

Sub AddADate()
    Dim N As Long, d As Date, d2 As Date
    N = Cells(2, Columns.Count).End(xlToLeft).Column
    d = Cells(2, N).Value
    Cells(2, N + 1).Value = DateSerial(Year(d), Month(d) + 1, Day(d))
End Sub

(假设您使用的是d / m / yy格式)