Защо m_days не се променя?

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

Опитвам се да направя упражнението, което е зададено в края на урока. Зададох израз за спиране на процедурата когато деня от месеца е по-голям или равен на 20-то число. Ето изображението: но когато процедурата спре на 20-то число и въведа ръчно в Immediate window m_days=8, и след това продължа с изпълнението на процедурата, VBA си смята m_days като следваща стойност, в случая 3, а не 8 както аз съм задала.

Уточнение: в горните принт-скрийнове съм заложила m_days=17, а не 8.

Деница, има значение кога задавате Вашата стойност за променливата. За да промените "ръчно", т.е. ot Immediate Window стойността на m-days, това трябва да стане веднага след като се присвои новата стойност за тази променлива. Какво трябва да направите? След като спре процедурата, когато last_day >= 20 (условието във Watch Window), продължете изпълнението с F8. Веднага след като се изпълни m_days=m (присвоена е новата стойност на m-days, но преди да се запише в таблицата), въведете Вашата стойност от Immediate Window. Пишете, ако нещо не е ясно.


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

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