V tomto článku vytvoříme makro pro výpis měsíců mezi definovaným obdobím a také počtem dnů v daném měsíci. Rovněž zobrazí celkový počet dní mezi definovaným obdobím.
Vytvořili jsme makro „DaysInPeriod“ pro výpis měsíců a počtu dnů v měsíci. Makro lze spustit kliknutím na tlačítko „Odeslat“.
Před spuštěním makra je třeba zadat vstup pro datum zahájení a ukončení. To má hodnotu v buňce „G6“ jako počáteční datum a hodnotu v buňce „G7“ jako koncové datum. Výstup se zobrazí níže v buňce „F9“.
Po kliknutí na tlačítko Odeslat zobrazí makro název měsíce ve sloupci F a počet dní v daném měsíci ve sloupci G. Poslední řádek zobrazí celkový počet dní mezi zadaným obdobím.
Logické vysvětlení
V makru začneme cyklovat od počátečního data do zadaného koncového data. Během smyčky kontrolujeme poslední datum měsíce. Pokud dojde k poslednímu datu měsíce, pak se název měsíce a počet dní v daném měsíci zobrazí ve sloupcích F a G. Podobně kontrolujeme také datum ukončení. Když dojde k datu ukončení, zobrazí se záznam za poslední měsíc a počet dní v daném měsíci.
Pro kód prosím postupujte níže
Volba Explicit Sub DaysInPeriod () Dim StartDate, EndDate As Date Dim intRow As Integer, intDays As Integer 'Clearing previous content Range ("F10: G1048576"). ClearContents' Getting start and end date StartDate = Range ("G6") EndDate = Rozsah ("G7") 'Inicializace proměnné na číslo počátečního řádku intRow = 10' Výpis měsíců a počtu dnů od počátečního data do koncového data Do intDays = intDays + 1 'Kontrola posledního data měsíce nebo kdy je StartDate stejné to EndDate If (Month (StartDate) Month (StartDate + 1)) Or StartDate = EndDate Then 'Inserting the month name Cells (intRow, 6) = Format (StartDate, "mmmm")' Inserting number of days in the month Cells ( intRow, 7) = intDays 'Přesun na další řádek intRow = intRow + 1 intDays = 0 End If' Přesun na další datum StartDate = StartDate + 1 smyčka do StartDate> EndDate 'Získání součtu v posledním řádku buněk (intRow, 6) = Buňky "Celkem dnů" (intRow, 7) = Application.Sum (Rozsah ("G10: G" & intRow)) End Sub
Pokud se vám tento blog líbil, sdílejte ho se svými přáteli na Facebooku. Také nás můžete sledovat na Twitteru a Facebooku.
Rádi bychom od vás slyšeli, dejte nám vědět, jak můžeme zlepšit naši práci a zlepšit ji pro vás. Napište nám na e -mail