Добавление последнего дня предыдущего месяца в столбец в Excel - PullRequest
0 голосов
/ 04 июня 2019

Я пытаюсь сделать все ячейки в столбце C последним днем ​​предыдущего месяца.Поскольку сейчас июнь, я бы хотел, чтобы в этом случае все ячейки в столбце С были 31 мая.Кроме того, у меня есть данные в столбце D, и я бы хотел, чтобы 31 мая 2019 года они были заполнены только в столбце 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 ]

2 голосов
/ 04 июня 2019

Вы можете использовать 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
0 голосов
/ 04 июня 2019

вы всегда можете получить последний день предыдущего месяца, используя код ниже

Lastday = DateAdd ("d", -Day (Date), Date)

Вы можете использовать несколько способов фильтрации ваших данных p.e

для r = от 3 до 72

если activesheet.cells (r, 4) = "", то activesheet.cells (r, 3) = ""

следующий

Дайте мне знать о любых вопросах

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...