Страницы: 1
RSS
Заполнить ячейки датами с первого по последнее число
 
Здравствуйте!

Мой макрос строит график Ганта.

В нём:
начальная дата - dtmin (допустим, 16.4.2020)
конечная дата - dtmax (допустим, 20.8.2020
разница между ними - dtDiff

Нижеприведённый код заполняет ячейки от dtmin до dtmax (со сдвигом на 10 ячеек, но это не суть важно):
Код
    Plus = dtmin
    For k = 10 To dtDiff + 10
        With Cells(1, k)
            .Value = Plus
            .NumberFormat = "m/d/yyyy"
        End With
    Plus = Plus + 1
    Next
Как получить заполнение ячеек:
не от 16.4.2020 до 20.8.2020,
а от 01.4.2020 до 31.8.2020, т.е. от начала начального месяца до конца конечного?
Чувствую, что нужно задействовать функцию определения месяца month(dtmin) и month(dtmax) и использовать её при заполнении ячеек с первого числа апреля до конечного числа августа. Как конкретно - ума не приложу. Прошу помощи.
Спасибо.
 
Код
DateValue("1/" & Month(dtmin) & "/" & Year(dtmin))
Код
DateValue("1/" & Month(dtmax)+1 & "/" & Year(dtmax))-1
Изменено: buchlotnik - 12.09.2020 21:39:26
Соблюдение правил форума не освобождает от модераторского произвола
 
buchlotnik, Благодарю, ушёл разбираться.
Через пару минут:
Начало месяца - работает! Спасибо. Думаю с окончанием разберусь по образу и подобию.
Ещё раз моя благодарность.
Ещё через пять минут:
Увы, не получается. Как указать конец месяца, когда 30, 31, 28 и 29 дней?
Изменено: MrBrown - 12.09.2020 21:46:44
 
А мой код для конца месяца чем не устроил?
Соблюдение правил форума не освобождает от модераторского произвола
 
buchlotnik,что-то не заметил вначале. Пробую применить...
Через пять минут:
Работает! Моя благодарность.
Изменено: MrBrown - 12.09.2020 22:03:42
Страницы: 1
Наверх