Въпрос към урок: Функции на VBA от курс: VBA за Excel

Как да изчислим по дата и брой месеци нова дата?

Microsoft Excel Електронни таблици Microsoft 365 Excel VBA Програмиране VBA за Excel

Здравейте, в този урок видяхме как да изчислим колко дни/месеци/години има между две дати - datedif (start date, end date, "d/m/y"). Интересува ме има ли лесен начин по дадена начална дата и брой месеци как да се получи втората дата? (наивните идеи да третирам датите като числа и да добавя 30 или 31 за да получа цял месец не са коректни заради особеностите на февруари + високосните години). Текущото ми решение "наивно" (и за съжаление прекалено бавно, а подобни сметки ми се налага да правя с хиляди дати): към началната дата добавям броя месеци * 30. След това пускам while цикъл и докато не излезне точна калкулация между "старт дата" и "край дата" (ползвайки datedif(startdate, enddate, "m") добавям +1 към краяната дата ... * втората версия на този скрипт е да на първата итерация добавям броя месеците/2 -1 (отчитам че ~50% от месеците са 31 дни, а не 30). Благодаря предварително

Използвайте функцията EDATE. Ето как работи Лек ден и успехи!

Извинения, функцията е End Of Month -EOMONTH. Тя има същият синтаксис. Ето пример: Лек ден!

Функцията EOMONTH показва, за съжаление, последния ден от месеца, който сме избрали!

Лек ден!

Извинения, функцията е End Of Month -EOMONTH. Тя има същият синтаксис. Ето пример: Лек ден!

Функцията EOMONTH показва, за съжаление, последния ден от месеца, който сме избрали!

Едно допълнение към подробните обяснения на инж. Никола Петров

Супер красиво и елегантно решение ... Благодаря много!


Вашият отговор

Научи компютърните програми онлайн от топ експертите на България
Регистрацията в АУЛА ви дава:
  • 20 безплатни урока
  • Трикове и тънкости за софтуера
  • Отговори на вашите въпроси
  • Регистрация