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

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

MS Excel
Електронни таблици
MS Office
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 безплатни урока
  • Трикове и тънкости за софтуера
  • Отговори на вашите въпроси
  • Име
    Имейл
     


    © 2016 Фондация “Аула”. Всички права запазени.
    Autodesk AutoCAD, Autodesk Inventor, Autodesk Civil 3D, Autodesk Revit, Autodesk 3ds Max, Autodesk Maya, Microsoft Word, Microsoft Outlook, Microsoft Excel, SharePoint Online, Microsoft PowerPoint, Microsoft Project, Microsoft, Adobe Photoshop, Adobe Illustrator, Adobe InDesign, Adobe After Effects, Adobe Premiere, Adobe Dreamweaver, V-Ray, Ableton Live, Solidworks са регистрирани търговски марки на Adobe Systems Incorporated, Microsoft Corporation, Chaos Software Ltd, Autodesk Inc., Ableton и Dassault Systèmes SolidWorks Corp.