将上个月的最后一天添加到Excel中的列

时间:2019-06-03 22:58:15

标签: excel vba

我试图将C列中的所有单元格设置为上个月的最后一天。由于是六月,因此在这种情况下,我希望C列中的所有单元格都是5月31日。此外,我在D列中有数据,如果D列中有数据,我只想在2019年5月31日在C列中进行填充。

我似乎无法将C列与D列“铰链”在一起,因此我将下面的那部分代码遗漏了。

Sub LastDayofPriorMonth()

    ActiveCell.FormulaR1C1 = "=DATE(2019, 5, 31)"

    Range("C3").Select

    Selection.AutoFill Destination:=Range("C3:C75")

    Range("C3:C75").Select

End Sub

2 个答案:

答案 0 :(得分:2)

您可以使用EOMONTH

=EOMONTH(D3,-1)

或使用VBA

添加
Sub LastDayofPriorMonth()

    ActiveSheet.Range("C3:C75").Formula = "=EOMONTH(D3, -1)"

End Sub

这可以与@donPablo的评论结合起来给您

Sub LastDayofPriorMonth()

    ActiveSheet.Range("C3:C75").Formula = "=IF(ISBLANK(D3),"""",EOMONTH(D3, -1))"

End Sub

答案 1 :(得分:0)

您始终可以使用以下代码获取上个月的最后一天

  

Lastday = DateAdd(“ d”,-Day(Date),Date)

您可以使用多种方式来过滤数据

  

对于r = 3到72

     

如果activesheet.cells(r,4)=“”,那么activesheet.cells(r,3)=“”

     

下一个

让我知道任何问题