Наведите и додајте дане месеци у одређеном периоду користећи ВБА у Мицрософт Екцелу

Anonim

У овом чланку ћемо створити макро за исписивање месеци између дефинисаног периода и броја дана у том одређеном месецу. Такође ће приказати укупан број дана између дефинисаног периода.

Направили смо макро „ДаисИнПериод“ да наведемо месеце и број дана у месецу. Макро се може извршити кликом на дугме „Пошаљи“.

Пре него што покренете макро, морате унети улаз за датум почетка и завршетка. Вредност у ћелији „Г6“ узима као датум почетка, а вредност у ћелији „Г7“ као датум завршетка. Излаз ће бити приказан испод у ћелији “Ф9”.

Када кликнете на дугме за слање, макро ће приказати назив месеца у колони Ф и број дана у том месецу у колони Г. Последњи ред ће приказати укупан број дана између наведеног периода.

Логичко објашњење

У макроу започињемо петље од почетног датума до наведеног завршног датума. Док се петљамо, проверавамо последњи датум у месецу. Ако се нађе последњи датум у месецу, онда се назив месеца и број дана у том месецу приказују у колонама Ф и Г. на сличан начин, такође проверавамо и датум завршетка. Када дође до датума завршетка, приказује се унос за последњи месец и број дана у том месецу.

Молимо следите доле за код

 Опција Екплицит Суб ДаисИнПериод () Дим СтартДате, ЕндДате Ас Дате Дим интРов Ас Интегер, интДаис Ас Интегер 'Брисање претходног опсега садржаја ("Ф10: Г1048576"). ЦлеарЦонтентс' Добијање датума почетка и завршетка СтартДате = Ранге ("Г6") ЕндДате = Опсег ("Г7") 'Иницијализација променљиве на почетни број реда интРов = 10' Навођење месеци и броја дана од датума почетка до датума завршетка Учините интДаис = интДаис + 1 'Провера последњег датума у ​​месецу или када је СтартДате једнак до ЕндДате Иф (Месец (СтартДате) Месец (СтартДате + 1)) Или СтартДате = ЕндДате Затим 'Уметање назива месеца Ћелије (интРов, 6) = Формат (СтартДате, "мммм")' Уметање броја дана у месецу ћелије ( интРов, 7) = интДаис 'Прелазак на следећи ред интРов = интРов + 1 интДаис = 0 Енд Иф' Прелазак на следећи датум СтартДате = СтартДате + 1 Петља до СтартДате> ЕндДате 'Добијање збира у ћелијама последњег реда (интРов, 6) = Ћелије "Укупно дана" (интРов, 7) = Апплицатион.Сум (Опсег ("Г10: Г" & интРов)) Крај Суб 

Ако вам се допао овај блог, поделите га са пријатељима на Фацебооку. Такође, можете нас пратити на Твиттер -у и Фацебоок -у.

Волели бисмо да чујемо од вас, јавите нам како можемо побољшати наш рад и учинити га бољим за вас. Пишите нам на веб локацији е -поште