Navedite i dodajte dane mjeseci u zadanom razdoblju pomoću VBA u programu Microsoft Excel

Anonim

U ovom ćemo članku stvoriti makronaredbu za popis mjeseci između definiranog razdoblja i broja dana u tom mjesecu. Također će prikazati ukupan broj dana između definiranog razdoblja.

Napravili smo makro "DaysInPeriod" za popis mjeseci i broja dana u mjesecu. Makro se može izvršiti klikom na gumb "Pošalji".

Prije pokretanja makronaredbe potrebno je unijeti unos za datum početka i završetka. Vrijednost u ćeliji “G6” uzima kao datum početka, a vrijednost u ćeliji “G7” kao datum završetka. Izlaz će biti prikazan ispod u ćeliji “F9”.

Kada kliknete gumb za slanje, makro će prikazati naziv mjeseca u stupcu F, a broj dana u tom mjesecu u stupcu G. Posljednji redak prikazat će ukupan broj dana između navedenog razdoblja.

Logično objašnjenje

U makronaredbi započinjemo petlju od datuma početka do navedenog datuma završetka. Tijekom petlje provjeravamo zadnji datum u mjesecu. Ako dođe do zadnjeg datuma u mjesecu, tada se naziv mjeseca i broj dana u tom mjesecu prikazuju u stupcima F i G. slično, provjeravamo i datum završetka. Kada dođe do datuma završetka, prikazuje se unos za posljednji mjesec i broj dana u tom mjesecu.

Molimo slijedite dolje za kôd

 Opcija Eksplicitni dodatni daniInPeriod () Dim StartDate, EndDate As Date Dim intRow As Integer, intDays As Integer 'Brisanje prethodnog raspona sadržaja ("F10: G1048576"). ClearContents' Dobivanje datuma početka i završetka StartDate = Range ("G6") EndDate = Raspon ("G7") 'Pokretanje varijable na početni broj retka intRow = 10' Navođenje mjeseci i broja dana od datuma početka do datuma završetka Učinite intDays = intDays + 1 'Provjera posljednjeg datuma u mjesecu ili kada je StartDate jednak do EndDate If (Mjesec (StartDate) Mjesec (StartDate + 1)) Ili StartDate = EndDate Zatim 'Umetanje naziva mjeseca Cells (intRow, 6) = Format (StartDate, "mmmm") "Umetanje broja dana u mjesecu ćelije ( intRow, 7) = intDays 'Prelazak na sljedeći red intRow = intRow + 1 intDays = 0 End If' Premještanje na sljedeći datum StartDate = StartDate + 1 Petlja do StartDate> EndDate 'Dobivanje zbroja u zadnjem retku Ćelije (intRow, 6) = Ćelije "Ukupno dana" (intRow, 7) = Application.Sum (raspon ("G10: G" & intRow)) Kraj Sub 

Ako vam se dopao ovaj blog, podijelite ga sa svojim prijateljima na Facebooku. Također, možete nas pratiti na Twitteru i Facebooku.

Voljeli bismo vas čuti, javite nam kako možemo poboljšati svoj rad i učiniti ga boljim za vas. Pišite nam na web stranici e -pošte