Seznam in dodajanje dni v določenem obdobju z uporabo VBA v programu Microsoft Excel

Anonim

V tem članku bomo ustvarili makro za seznam mesecev med opredeljenim obdobjem in tudi številom dni v tem mesecu. Prikazal bo tudi skupno število dni med določenim obdobjem.

Ustvarili smo makro »DaysInPeriod«, da navedemo mesece in število dni v mesecu. Makro lahko izvedete s klikom na gumb »Pošlji«.

Preden zaženete makro, morate vnesti začetni in končni datum. Vrednost v celici »G6« ima kot začetni datum, vrednost v celici »G7« pa kot končni datum. Izhod bo prikazan spodaj v celici »F9«.

Ko kliknete gumb za oddajo, bo makro prikazal ime meseca v stolpcu F in število dni v tem mesecu v stolpcu G. Zadnja vrstica bo prikazala skupno število dni med določenim obdobjem.

Logična razlaga

V makru začnemo zankovati od začetnega datuma do določenega končnega datuma. Med zanko preverjamo zadnji datum v mesecu. Če pride do zadnjega datuma v mesecu, sta ime in število dni v tem mesecu prikazana v stolpcih F in G. Podobno preverimo tudi končni datum. Ko pride do končnega datuma, se prikaže vnos za zadnji mesec in število dni v tem mesecu.

Za kodo sledite spodaj

 Možnost Explicit Sub DaysInPeriod () Dim StartDate, EndDate As Date Dim intRow As Integer, intDays As Integer 'Brisanje prejšnjega obsega vsebine ("F10: G1048576"). ClearContents' Začetni in končni datum StartDate = Range ("G6") EndDate = Obseg ("G7") 'Inicializacija spremenljivke na začetno številko vrstice intRow = 10' Navedba mesecev in števila dni od začetnega datuma do končnega datuma Naredite intDays = intDays + 1 'Preverjanje zadnjega datuma v mesecu ali ko je StartDate enak do EndDate If (Mesec (StartDate) Mesec (StartDate + 1)) Ali StartDate = EndDate Potem 'Vstavljanje imena meseca Celice (intRow, 6) = Oblika (Datum začetka, "mmmm") "Vstavljanje števila dni v celice meseca ( intRow, 7) = intDays 'Premik na naslednjo vrstico intRow = intRow + 1 intDays = 0 End If' Premik na naslednji datum StartDate = StartDate + 1 Zanka do StartDate> EndDate 'Pridobivanje vsote v celicah zadnje vrstice (intRow, 6) = Celice "Total Days" (intRow, 7) = Application.Sum (obseg ("G10: G" & intRow)) End Sub 

Če vam je bil ta blog všeč, ga delite s prijatelji na Facebooku. Prav tako nam lahko sledite na Twitterju in Facebooku.

Radi bi slišali od vas, nam sporočite, kako lahko izboljšamo svoje delo in ga izboljšamo za vas. Pišite nam na spletnem mestu e -pošte